hii每一个我都有nsuser默认值的问题我会详细告诉scenerio
首先我在appDelegate中声明了nsmutable数组并将其设置为NSUserDefaults With For Key @“abc”
在FirstView Controller中我首先从NSUserDefaults获取数组并将其值保存在NSMutable Array中
当点击说abcButton我创建了一个字典并在其中添加了值
[abcDictionar setObject:[[abcMutableArray objectAtIndex:indexPath.row] objectForKey:@"abc"] forKey:@"abc"];
当我在NSDictionary中添加所有值时,我在NSMutable Array中添加NSDictionary 喜欢这个
[abcMutableArray addObject:abcDictionary];
然后我保存NSUserDefaults 它在第4点给出了我的例外
当我在第一点添加nsdictionary时它一切正常,但数组中的数据是不明显的,当我要在tableview中显示它时会引发异常
如果有人有想法,那么请事先告知我...:)
答案 0 :(得分:1)
NSUserDefaults
不存储可变对象,只存储不可变对象。当你从中检索对象时,如果你想改变它们,你必须将它们转换/复制到可变对象中。
还要注意:
NSUserDefaults
类提供了访问常用类型(如浮点数,双精度数,整数,布尔值和URL)的便捷方法。默认对象必须是属性列表,即(或集合的实例组合)的实例:NSData
,NSString
,NSNumber
,NSDate
,NSArray
或NSDictionary
。如果要存储任何其他类型的对象,通常应将其存档以创建NSData
的实例。
哪个来自NSUserDefaults文档。