Как установить значение ключа, тип которого является основным типом данных в среде выполнения в swift?

Так же, как в разделе говорится, есть класс, я хочу установить значения для свойств во время выполнения,
и я установил значения, унаследованные от NSObject useKVC mechanism and Reflect mechanism, и мне также нужно установить значения для тех, кто не унаследовал от NSObject, такие как dataType is
Int, Double. Как я могу сделать это?

1 ответ

  1. Подпись 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