setValuesForKeys在Xcode 9中的Swift 4中不起作用

时间:2018-07-01 13:29:44

标签: swift

我有一个名为[String : NSObject]的{​​{1}}变量。这样说的话:

dict

然后我使用let test = AnchorGroup(dict) 在命令行上什么也没得到。

我尝试在print(test.tag_name)中打印字典。它具有正确的信息。

这是我的字典内容: [“ tag_id”:1,1,“ tag_name”:大声笑,“ push_nearby”:0,“ push_vertical_screen”:0]

init(dict : dict)

1 个答案:

答案 0 :(得分:1)

如果将npm install --save-dev webpack-cli 添加到print("bad key: \(key)")函数中,您将看到setValue(_ value: Any?, forUndefinedKey key: String)是未定义的键。

问题在于tag_name的所有这些键值编码功能都需要与Objective-C兼容。因此,您要在此类中使用键值编码的类中的任何属性都必须标记为NSObject

更改:

@objc

收件人:

var tag_name : String = ""

和代码:

@objc var tag_name : String = ""

达到预期的结果。

根据需要更新其他属性。