大佬教程收集整理的这篇文章主要介绍了iOS – 从NSUserDefaults获取NSDictionary:尝试取消引用无效的ObjC对象或向其发送无法识别的选择器,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我存储NSMutableArray:
NSUserDefaults * defaults = [NSUserDefaults standardUserDefaults]; NSMutableArray* mySavedTremps = [[defaults objectForKey:UD_MY_TREMPS] mutableCopy]; if (!mySavedTremps) mySavedTremps =[[NSMutableArray alloc] init]; NSMutableDictionary* trempDict = NSMutableDictionary* trempDict = [NSMutableDictionary DictionaryWithObjectsAndKeys:@"please",@"Help",@"me" @"!",nil] [trempDict SETVALue:trempId forKey:@"trempId"]; [mySavedTremps insertObject:trempDict aTindex:0]; [defaults setObject:mySavedTremps forKey:UD_MY_TREMPS]; [defaults synchronize];
并尝试检索NSMutableArray:
NSMutableArray* myTrempsArray = [NSMutableArray arrayWithArray:[defaults objectForKey:UD_MY_TREMPS]]; for (TremP* tremp in myTrempsArray) { if([tremp.trempId isEqualToString:@"1234"]) { [myTrempsArray removeObject:tremp]; break; } }
但是,当我访问tremp(for循环中的param)时:
tremp.trempId
我收到此错误:
error: Execution was interrupted,reason: Attempted to dereference an invalid ObjC Object or send it an unrecognized SELEctor.
该过程已返回到表达式评估之前的状态.
你想要的东西:
for (NSDictionary *trempDict in myTrempsArray) { Tremp *tremp = ... // add code here to create a Tremp from the Dictionary if([tremp.trempId isEqualToString:@"1234"]) { [myTrempsArray removeObject:tremp]; break; } }
以上是大佬教程为你收集整理的iOS – 从NSUserDefaults获取NSDictionary:尝试取消引用无效的ObjC对象或向其发送无法识别的选择器全部内容,希望文章能够帮你解决iOS – 从NSUserDefaults获取NSDictionary:尝试取消引用无效的ObjC对象或向其发送无法识别的选择器所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。