_times = [[NSDictionary alloc] init];Nsstring *test = @"Test";[_times setValue:@"testing" forKey:test];NSLog(@"%@",[_times objectForKey:test]);@H_419_3@对于上面的代码,我收到错误消息终止应用程序由于未捕获的异常’NSUnkNownKeyException’,原因:'[< __ NSDictionaryI 0x8b86540> setValue:forUndefinedKey:]:此类不是键值Test的密钥值编码.
为什么Nsstring *不能用作密钥?事实上,这正是该方法所要求的.
@H_404_9@解决方法 NSDictionary是不可变的,因此您无法为其设置值.
使用NSMutableDictionaryNSMutableDictionary *times = [[NSMutableDictionary alloc] init];@H_419_3@我在这里包括@ Martin的评论
另外:使用setobject:forKey设置字典值. setValue:forKey仅用于“键值编码”魔法. setobject:forKey如果应用于不可变字典,也会提供更好的错误消息.
总结以上是内存溢出为你收集整理的ios – NSDictionary不是关键测试的关键值编码兼容全部内容,希望文章能够帮你解决ios – NSDictionary不是关键测试的关键值编码兼容所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
概述我试图以一种我可以在其中存储NS Arrays的方式使用NSDictionary,但我甚至无法使其适用于字符串. _times = [[NSDictionary alloc] init];NSString *test = @"Test";[_times setValue:@"testing" forKey:test];NSLog(@"%@",[_times objectForKey:test 我试图以一种我可以在其中存储NS Arrays的方式使用NSDictionary,但我甚至无法使其适用于字符串.
赞
(0)
打赏
微信扫一扫
支付宝扫一扫
尝试更改帧大小的UIView动画在iOS 8中不起作用,但在iOS 7中不起作用
上一篇
2022-05-28
ios – 如何修复找不到选项-F错误的目录
下一篇
2022-05-28
评论列表(0条)