2014-10-07 46 views
6

在Swift數組中有特殊的行爲,但爲什麼arr1包含兩次「item 1」,而arr2只包含一次?Swift數組行爲

在這裏定義arr1作爲實例變量(與將arr2定義爲局部變量相比)是什麼?

更新:我使用的Xcode 6.0.1

enter image description here

+0

是啊。我在Xcode版本6.0.1(6A317)中得到了相同的結果:|我必須說這是一個錯誤? – ytbryan 2014-10-07 12:30:43

+0

@ytbryan我使用與您相同的Xcode版本。 – 2014-10-07 12:31:50

+0

呀。看起來你最好的選擇是把它變成一個局部變量。引用PartiallyInifinite答案。 或使用Xcode GM。 – ytbryan 2014-10-07 12:34:12

回答

2

我可以重現這個結果確實在Xcode 6.0.1:

Xcode 6.0.1

但不是在Xcode 6.1 GM :

Xcode 6.1

看起來這是一個已修復的錯誤。

作爲暫時的解決辦法,這個工程在Xcode 6.0.1:

Workaround

+1

好的,所以我不是唯一一個:-)謝謝你們,Swift和Xcode錯誤令我瘋狂...... – 2014-10-07 12:33:57

+0

@ thomas.g我放棄了在嘗試使用objc API時嘗試使用它那就是需要方法選擇者,放棄不可能破譯初始者壓倒一切的規則之後。就我個人而言,我認爲它不值得忍受不斷的錯誤,不必要的和無意義的限制,有時會使用笨拙/不清晰的語法,只是爲了獲得比objc大約1.5倍的性能提升,從而讓您充分發揮C只要你需要它。 – Greg 2014-10-07 12:37:29

+0

我開始感覺一樣。但是很快我就必須通過Swift進行有關iOS開發的培訓,所以沒有選擇......但是我必須說我有點焦慮;-)至少對我來說Xcode/Playgrounds似乎不太經常崩潰,因爲它不是一個測試版... – 2014-10-07 12:41:39