2016-11-08 44 views
0

當我得知斯威夫特我總是宣稱我的陣列,像這樣斯威夫特3數組聲明優勢

var myArrayDeclaration: [String] 

然而,在許多教程,甚至在蘋果陣列發行書籍的聲明像這樣

var appleArrayDeclaration = [String]() 

在當我使用它們時,表面看起來完全一樣。教程和蘋果幾乎完全展示第二種方法的原因是什麼?還是開發人員的偏好?

+5

第一個只是聲明一個包含'[String]'的屬性並且不給它賦值。第二個實際上是創建一個數組並將其分配給屬性。 – dan

+1

'var myArrayDeclaration:[String] = []'將等同於第二個片段。兩者相當於'Array ()'。 – titaniumdecoy

+0

兩者都不相同,第一種是聲明'myArrayDeclaration',它永遠不會被初始化,這將在未來的代碼行中。其次是聲明並初始化'appleArrayDeclaration'到空數組。這取決於你的用例。 –

回答

-3

第二種方法使用類型推斷,它通常由Apple和Developers首選,因爲它表達了swift 3語言優化的簡單性和表現力。

順便說一句,這兩種方法的工作和做的工作!

+3

「這兩種方法都起作用並且完成工作」只是錯誤的。他們做着非常不同的工作。 – luk2302