San*_*ill 3 nsobject ios swift swift4
我想从字典中实现模型的通用填充.我使用以下测试测试模型是否具有属性,但条件总是失败:
if (self.responds(to:(NSSelectorFromString(keyName)))){
self.setValue(keyValue, forKey: key )
}
Run Code Online (Sandbox Code Playgroud)
这是一个示例代码:
import UIKit
class myModel: NSObject {
var userName: String = ""
var phoneNumber: String = ""
init(dict: Dictionary<String, Any>) {
super.init()
for (key, value) in dict {
let keyName = key
let keyValue: String = String(describing: value)
print("key \(key) value \(value)")
if (self.responds(to:(NSSelectorFromString(keyName)))){
self.setValue(keyValue, forKey: key )
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
Ami*_*han 12
你差不多完成了.在NSObject类的顶部添加以下内容 - @objcMembers
如 -
import UIKit
@objcMembers
class myModel: NSObject {
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
232 次 |
| 最近记录: |