-1
A
回答
9
每個類型實際上可以設置爲空值又名nil
這個環節!
要創建一個可設置爲nil
的變量,您需要在末尾明確寫入類型名稱?
或!
(我將在後面討論這些差異)。
例如,如果你想要,可以設置爲nil
的Int
,聲明與類型名稱的變量:
var myInt: Int
,然後添加一個?
:
var myInt: Int?
然後,你可以設置myInt
到nil
,或任何你想要的值:
myInt = nil
myInt = 0
這種類型名稱與?符號在Swift中被稱爲「可選類型」。
您不僅可以使用自選的變量和常量,你也可以在方法/函數簽名使用它:
func myUselessFunc(value: Int?) -> Int? {
return value
}
好了,什麼是!
和?
之間的區別?
!
的行爲與Java和C#中的引用類型相似。而?
就像是更安全的版本!
。
比方說,有一個可選的Int
叫myInt
。你想訪問它的description
。
如果myInt
被宣佈爲let myInt: Int?
,
myInt?.description
如果myInt
被宣佈爲let myInt: Int!
myInt.description
注意問號,你需要在每一次最後加一個問號您需要訪問myInt
的財產/方法。這稱爲「解包可選類型」。
帶有!
後綴的類型稱爲「隱式解包可選類型」。使用這些類型時,您不需要打開它。但是,如果myInt
是nil
,則會出現錯誤!這在?
類型中不會發生,因爲如果myInt
是nil
,則整個表達式將僅返回nil
。
這只是我認爲在第一次使用optionals時應該注意的事項。
0
您需要一個可選Int
。通過提出一個問題'?'標記你以nil初始化該變量。
var number: Int?
相關問題
- 1. 將cookie值設置爲遞增int
- 2. 將Color設置爲用於setRGB(int x,int y,int rgb)方法的int值? - Java
- 3. 無法將默認值設置爲INT(11)更改表
- 4. javascript將int值解析爲int
- 5. 設置限制爲一個int值
- 6. 哪個更好 - (int)值或值爲int?
- 7. 將INT列設置爲空
- 8. 將TextField值轉換爲Int
- 9. 將TextView更改爲Int值
- 10. 如何在增加/減少int值後將int值重置爲0
- 11. 有沒有辦法在Android中將Drawable設置爲int
- 12. 如何將int轉換爲byte []並重新設置byte []的值
- 13. 如何將值設置爲:KeyValuePair <KeyValuePair <String,String>,int>
- 14. 單擊Cocoa中的按鈕時將值設置爲int
- 15. 在xaml中將本地int變量的值設置爲Int.MaxValue
- 16. C++將靜態int的值賦給int
- 17. 從NSarray中設置int的值
- 18. C2440無法將int轉換爲int&
- 19. 沒有最小的MySQL INT值
- 20. 將UILabel的文本設置爲int?
- 21. 如何將int設置爲字節* C#
- 22. C/C++:如何正確地將「unsigned int *」值轉換爲「unsigned int」?
- 23. 將NULL值插入INT列
- 24. Rails將date_select轉換爲int值
- 25. Sudoku:將int值顯示爲空白
- 26. 的SQL Server將varchar列值「1218300.00」爲INT
- 27. 如何將列表值轉換爲int
- 28. 如何將枚舉值轉換爲int?
- 29. Haskell:將Float轉換爲Int(平均值)
- 30. 將Int值轉換爲角度
唯一的方法是可選的'Int?' – vadian
您需要選項:https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/TheBasics.html#//apple_ref/doc/ uid/TP40014097-CH5-ID330 – Moritz
'var number:Int?' –