正如主题所说,有一个类,我想在运行时为属性设置值,
我已经设置了从 NSObject 使用 KVC mechanism and Reflect mechanism
继承的值,而且我还需要为那些没有继承自 NSObject 的设置值,比如 dataType 是
Int, Double
。我怎样才能做到呢?
最佳答案
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
关于swift - 如何在swift中运行时为基本数据类型的key设置值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41376293/