-[__ NSCFArray字节]:无法识别的选择器已发送到实例

问题描述 投票:0回答:1

我已将用户的产品数组保存为以下用户默认值:

  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方法。

objective-c nsuserdefaults nskeyedarchiver
1个回答
0
投票

在某些时候,您必须已将NSArray存储到NSUserDefaults中,而不是已存储的数据中。您是否尝试过清除用户默认设置并重试?

© www.soinside.com 2019 - 2024. All rights reserved.