【发布时间】:2018-05-21 08:37:03
【问题描述】:
之前没用过Swift4,也不知道怎么用KVC。
我尝试用 Dictionary 创建模型,这里是代码:
class Person : NSObject {
var name: String = ""
var age: Int = 0
init(dict: [String : Any]) {
super.init()
self.setValuesForKeys(dict)
}
}
let dict: [String : Any] = ["name" : "Leon", "age" : 18]
let p = Person(dict: dict)
print(p.name, p.age)
我有两个问题:
1. 为什么我不用AnyObject? "Leon"and18 被推断为 String 和 Int,它在 KVC 中使用吗?
2.@objc var name: String = "",这个表格可以用,但是看不懂。
感谢所有帮助。
【问题讨论】:
-
再次阅读您的代码,它显示“keys”的设置值现在“AnyObject”中的键在哪里。我也不明白问题的第二部分
-
以上代码错误。 XCode 将因未捕获的异常而崩溃。如果使用
@objc,它将起作用。我不明白它是如何工作的。 -
下次提问前请先搜索。我花了 10 秒钟才找到关于What is @objc的答案
-
对不起,这是我第一次使用 StackOverFlow...