ios – 将NSArray存储在NSUserDefaults中时,应用程序崩溃

ios – 将NSArray存储在NSUserDefaults中时,应用程序崩溃,第1张

概述我不能在NsUserDefaults中存储NSArray.该应用程序崩溃 在这一行 [savedData setObject:jsonValue forKey:@“ JSONDATA”]; 以下是我的代码我在下面提到我的日志错误 NSArray *jsonValue =[NSJSONSerialization JSONObjectWithData:data options:0 error:nil] 我不能在NsUserDefaults中存储NSArray.该应用程序崩溃
在这一行
[savedData setobject:JsonValue forKey:@“ JSONDATA”];

以下是我的代码我在下面提到我的日志错误

NSArray *JsonValue =[NSJsONSerialization JsONObjectWithData:data options:0 error:nil];NSUserDefaults *savedData = [NSUserDefaults standardUserDefaults];[savedData setobject:JsonValue forKey:@"JsONDATA"];[savedData synchronize];

错误日志:

*** Terminating app due to uncaught exception '`NSinvalidargumentexception`',reason: '*** -[NSUserDefaults setobject:forKey:]: attempt to insert non-property List object <CFBasicHash 0x8c62b10 [0x1d2aec8]>{type = immutable dict,count = 3,entrIEs =>
解决方法 是的,它们不能像NSUserDefaults那样保存.

我正在写一个代码,请看看,更多的学习去看苹果docs好的.

代码在这里:

//保存

NSData *dataSave = [NSKeyedArchiver archivedDataWithRootObject:yourArrayToBeSave]];[[NSUserDefaults standardUserDefaults] setobject:dataSave forKey:@"array"];[[NSUserDefaults standardUserDefaults] synchronize]; // this will save you UserDefaults

//用于检索

NSData *data = [[NSUserDefaults standardUserDefaults] objectForKey:@"array"];NSArray *savedArray = [NSKeyedUnarchiver unarchiveObjectWithData:data];
总结

以上是内存溢出为你收集整理的ios – 将NSArray存储在NSUserDefaults中时,应用程序崩溃全部内容,希望文章能够帮你解决ios – 将NSArray存储在NSUserDefaults中时,应用程序崩溃所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1112144.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存