2016-08-05 49 views
2

當我開始使用Swift進行開發並搜索有關該語言的不同教程和文檔時,我不確定一件事。 你可以聲明與特定的數據類型這樣的對象/值:斯威夫特。什麼時候應該定義一個具有特定數據類型的對象/值

var aString:String = "Test" 
var anObject:SKScene = ASceneClass() 

或者你也可以做這樣的:

var aString = "Test" 
var anObject = ASceneClass() 

結果將是完全一樣的(ASceneClass從繼承SKScene當然)

由於每個人都這樣做不同,我不知道它背後是否有一個合乎邏輯的原因,或者你爲了可讀性而這樣做?

回答

1

聲明類型變量的權名字叫做類型註釋

當你不這樣做以後,你必須提供初始值

var aString = "Test" 

常值不是在那一刻知道,或者你甚至不確定它是否不是零值,那麼你可以聲明它是可選的

var aString:String? 

如果你想聲明變量沒有任何initiaization但你肯定它不會評估爲零,你強迫它展開

var aString:String! 

這是定義。在實踐中,即使使用值初始化變量,使用類型註釋總是更好,因爲隨後在程序中,您會注意到任何時候您都會用變量的類型篡改某些內容。另外,當你聲明一個數組或字典時,通常是嵌套的,Xcode可能會期望它們有類型註釋,因爲當事先不知道類型時,它可能會有寫入值的問題。

回顧一下

你將要使用類型註釋時,你可以,這意味着只要您能夠確保變量的類型提前

1

宣佈在迅速變推薦/文件化的方法是如下:

var <variable name>: <type> = <initial value/expression> 

注:考慮形式聲明一個變量存儲或存儲變量屬性。當你清楚它的type annotation時使用它。

儘管它有效的聲明變量沒有它的類型。

var variableName = <initial value> 

注:當你不知道它的type annotation強制分配「初始值」該變量。

有關更多詳細信息,請參閱Swift文檔Declaration