就像主题说的那样,有一个类,我想为运行时的属性设置值, 并且我已经设置了从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