我已将用户的产品数组保存为以下用户默认值:
NSUserDefaults *userDefault = [NSUserDefaults standardUserDefaults];
[userDefault setObject:[NSKeyedArchiver archivedDataWithRootObject:plans] forKey:@"plans"];
[[NSUserDefaults standardUserDefaults] synchronize];
并阅读以下默认值:
NSArray *plans;
NSData *data = [[NSUserDefaults standardUserDefaults] objectForKey:@"plans"];
if (data != nil)
{
plans = [NSKeyedUnarchiver unarchiveObjectWithData:data];
}
但是有时我的应用因-[__ NSCFArray字节]:无法识别的选择器发送到实例而崩溃调用unarchiveObjectWithData
方法。
在某些时候,您必须已将NSArray存储到NSUserDefaults中,而不是已存储的数据中。您是否尝试过清除用户默认设置并重试?