就像主題說的那樣,有一個類,我想爲運行時的屬性設置值, 並且我已經設置了從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. 如何設置DataGridViewColumn數據根據單元格的值在運行時鍵入?
- 2. 在運行時設置矢量類型
- 3. 如何在Swift中爲Realm模型設置主鍵
- 4. 如何在C#中運行時設置類型TSomething?
- 5. 如何在運行時設置xml:lang值?
- 6. 運行時數據類型
- 7. Mysql如何在數據庫中設置時間數據類型爲HH:MM
- 8. 在Swift中獲取和設置不同的數據類型
- 9. 在運行時獲取非泛型IDictionary的鍵和值類型
- 10. 如何在運行時在數據手冊中設置頁碼
- 11. Swift:運行時泛型類型推斷
- 12. GORM:如何設置一個值的數據類型在地圖
- 13. 如何在django 1.7模型中創建鍵值數據類型
- 14. 如何設置mongoexport的數據類型
- 15. 在運行時創建數據類型
- 16. 按類別在一行中設置輸入類型文本值
- 17. 在讀取SAS中的XML數據時設置數據類型
- 18. 如何在swift中將數據設置爲同一類中的第二個tableview
- 19. 如何在運行時在應用程序設置中存儲鍵值對?
- 20. 如何更改基本數據類型的默認值
- 21. 如何使用Swift在Firebase數據庫中設置多個值?
- 22. AS3設置改變類的類型在運行時
- 23. 在實體模型中爲類型時間設置默認值
- 24. 處理基於數據庫數據在運行時實例化的泛型類
- 25. 如何在派生類的c#中設置基類的值wpf
- 26. 如何使用設計模式在MS Access中設置運行時數據類型
- 27. 如何在gdb中獲取結構的基本數據類型
- 28. 如何在運行時確定對象的基礎類型?
- 29. 如何在Swift中設置UIButton類型的顏色:.system for tvOS
- 30. 將值運行時間設置爲combobox
如果您想反映的所有屬性,並嘗試使用KVC的setValue:forKey:和值:函數,它可能會有點痛的編寫一個通用的方法,這樣做(比如你想編碼或將JSON解碼爲您的課程)。對於這個主題,你可以檢查ServiceStack.Swift源代碼,看看這個偉大的庫如何工作:https://github.com/ServiceStack/ServiceStack.Swift – bubuxu