我有obj-c代码
[dictionary setObject:[[notification object] objectForKey:@"key"] forKey:@"anotherKey"];
我怎么能把它翻译成swift?通知是NSNotification对象
我试过
dictionary.setValue(notification.valueForKey("key"), forKey: "anotherKey")
但应用程序因错误而崩溃(抱歉图片,粘贴无效)
答案 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)