Swift中的setObject等价物

时间:2016-12-16 09:56:58

标签: ios swift

我有obj-c代码

[dictionary setObject:[[notification object] objectForKey:@"key"] forKey:@"anotherKey"];

我怎么能把它翻译成swift?通知是NSNotification对象

我试过

dictionary.setValue(notification.valueForKey("key"), forKey: "anotherKey") 

但应用程序因错误而崩溃(抱歉图片,粘贴无效)

enter image description here

4 个答案:

答案 0 :(得分:4)

纯粹的Swift等价物是

dictionary["anotherKey"] = notification.object?["key"]

如果notification.object或密钥key不存在,则不会分配任何对象。

注意

永远不要使用valueForKey / setValue:forKey:,除非您明白为何使用KVC。

答案 1 :(得分:1)

尝试这可能会对您有所帮助:

dictionary .setValue(notification.object["key"], forKey: "anotherKey")

答案 2 :(得分:1)

如何让你的词典成为var(而非let)并执行此操作:

dictionary["anotherKey"] = [[notification object] objectForKey:@"key"]

答案 3 :(得分:0)

dictionary["anotherKey"] = (notification.object!["key"] as! String)