就像主題說的那樣,有一個類,我想爲運行時的屬性設置值, 並且我已經設置了從NSObject繼承的值使用KVC mechanism and Reflect mechanism
,並且我還需要爲那些避難所設置值從NSObject繼承,如dataType是 Int, Double
。我怎麼做到的?如何在swift中爲運行時的基本數據類型設置鍵值?
0
A
回答
0
setValue(value: Any?, forKey: String)
的簽名取Any?
而不是AnyObject?
。所以這個值不一定是NSObject的子類。
class MyClass : NSObject {
public var intField : Int = 100;
public var doubleField : Double = 10.0;
}
let a = MyClass()
a.setValue(200, forKey: "intField")
a.setValue(20.0, forKey: "doubleField")
print(a.intField) // Output: 200\n
print(a.doubleField) // Output: 20.0\n
相關問題
- 1. ,如何在運行時設置類型?
- 2. 如何設置DataGridViewColumn數據根據單元格的值在運行時鍵入?
- 3. 在運行時設置數據源值
- 4. 如何在實體中爲SQLite設置文本數據類型?
- 5. 如何在Swift中爲Realm模型設置主鍵
- 6. 在運行時設置矢量類型
- 7. 如何在C#中運行時設置類型TSomething?
- 8. 如何在運行時設置xml:lang值?
- 9. 在運行時設置通用類的類型和參數
- 10. 如何在GORM GRAILS中爲域類設置公共基類型?
- 11. 運行時數據類型
- 12. Mysql如何在數據庫中設置時間數據類型爲HH:MM
- 13. 在Swift中獲取和設置不同的數據類型
- 14. 如何在運行時設置EditText的文本值?
- 15. Swift:運行時泛型類型推斷
- 16. 在運行時獲取非泛型IDictionary的鍵和值類型
- 17. 如何在運行時在數據手冊中設置頁碼
- 18. 如何在運行時設置響應類型(Spring MVC)
- 19. 如何在運行時設置獲取類型? +休眠
- 20. GORM:如何設置一個值的數據類型在地圖
- 21. 如何在運行時將文本設置爲null的JTextFields?
- 22. 如何將Azure RM Vnet網關類型設置爲基本
- 23. 如何在django 1.7模型中創建鍵值數據類型
- 24. 如何設置mongoexport的數據類型
- 25. 如何在swift中將數據設置爲同一類中的第二個tableview
- 26. 在運行時創建數據類型
- 27. 在讀取SAS中的XML數據時設置數據類型
- 28. 按類別在一行中設置輸入類型文本值
- 29. 如何在Qt Creator中設置基本鍵盤快捷鍵?
- 30. 在運行時設置NHibernate數據庫
如果您想反映的所有屬性,並嘗試使用KVC的setValue:forKey:和值:函數,它可能會有點痛的編寫一個通用的方法,這樣做(比如你想編碼或將JSON解碼爲您的課程)。對於這個主題,你可以檢查ServiceStack.Swift源代碼,看看這個偉大的庫如何工作:https://github.com/ServiceStack/ServiceStack.Swift – bubuxu