我創建了一個自定義類,我想添加關聯的獲取者和設置者。我已經閱讀了Apple的官方documentation,並注意到在設置getter和setter時,實際上會創建一個單獨的變量,這看起來很混亂。例如,在上面鏈接的文檔中,getters和setter被應用於一個名爲perimeter的新變量,以從另一個稱爲sidelength的變量獲取值。下面是我的代碼:無法在Swift中設置獲取者和設置者
-5
A
回答
0
getter和你一樣正在實現他們制定者僅用於在斯威夫特計算變量。帶有getter和setter的變量實際上並不存儲任何內容,但是在爲其值賦予值或與其他變量一起使用時會執行某些操作。適當使用時,使用情況會更像這樣。
var _key: String?
var key: String? {
get {
return _key
}
set {
_key = newValue
}
}
你會很少,如果使用上相同的數據類型,雖然。我經常使用這些與CoreData進行通信,並將日期設置爲字符串或返回日期。有時候我可能會用它來處理可選的變化,而不是可選的。
雖然使用Swift中的變量不需要Getters和setters。如果你習慣於用他們的語言,我可以理解這裏的困惑,但忘記了相關性,並重新考慮你如何看待它。我相信在短時間之後,您會喜歡Swift使用其數據類型的方式!
編輯:
爲了做到你想要什麼,你需要的是這樣的:
class PollCell: UICollectionViewCell {
var key: String?
}
現在,您可以指定要cell.key
任何價值和檢索你cell.key
想要的任何值。
相關問題
- 1. 記錄獲取者和設置者
- 2. Lua獲取者和設置者
- 3. ExtJS模型獲取者和設置者
- 4. Python的獲取者/設置者
- 5. 獲得者,設置者和循環
- 6. 父類中的獲取者和設置者
- 7. 如何在Polymer中設置和取消設置觀察者?
- 8. 自定義類的獲取者和設置者
- 9. slick 2d,Java,動畫獲取者和設置者
- 10. 確定有效的獲取者和設置者
- 11. NodeJs MongoDb沒有獲取者和設置者的結果
- 12. Laravel - 爲獲取者和創建者設置3個函數
- 13. 獲取者和設置者的首選Qt風格
- 14. 主義覆蓋關係字段的獲取者和設置者
- 15. 擴展現有實體以覆蓋獲取者和設置者
- 16. Luabind屬性獲取者和設置者可以產生?
- 17. 覆蓋子類的所有設置者和獲取者
- 18. 抽象類與抽象獲取者和設置者
- 19. Android開發者:避免內部獲取者/設置者?
- 20. 同步屬性獲得者/設置者
- 21. 在Eclipse中自動生成的獲取者/設置者之間放置空間
- 22. 在目標C中重構顯式獲取者和設置者C
- 23. 在Cocoa中獲取並設置所有者,組和權限
- 24. 初學者django設置:無法導入設置'myproject.settings'
- 25. 重寫繼承的獲取者/設置者
- 26. EntityFramework Code首先對屬性獲取者/設置者做什麼?
- 27. Haxe到SWC - 受保護的獲取者/設置者
- 28. 防止爲@Transient字段生成獲取者/設置者
- 29. 注入/處理屬性獲取者/設置者?
- 30. 具有地圖的類的獲取者/設置者
鑑於你試圖執行setter和getter,他們沒有任何意義。只需使用'var key:String?'就是這樣。 – rmaddy
你是什麼意思?我想從本質上設置一個關鍵值,然後再獲取它,以便我可以將它傳遞給我知道的新的ViewController – tccpg288
。這就是'var key:String?'做的。你不需要實現你自己的setter和getter。它們會自動爲每個屬性創建。只能使用自己的setter和/或getter來使其成爲一個計算屬性。你應該閱讀Swift書中的那一章。 – rmaddy