【问题标题】:NSInvalidArgumentException, reason unrecognized selector sent to instanceNSInvalidArgumentException,原因无法识别的选择器发送到实例
【发布时间】:2015-08-02 05:51:21
【问题描述】:

在处理 json 响应时,我收到以下错误:

*** 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“-[DADGList setDescription:]: 无法识别的选择器发送到实例 0x7ae88880'

它崩溃的类:

@implementation DADGList

-(id)copy
{
    DADGList *list = [[DADGList alloc] init];
    list.identifier = self.identifier;
    list.name = [self.name copy];
    list.description = [self.description copy];
    list.created = [self.created copy];
    list.itemCount = self.itemCount;
    list.shareLink = [self.shareLink copy];

    return list;
}

+(DADGList *)listFromDictonary:(NSDictionary *)dictonary
{
    DADGList *list = [[DADGList alloc] init];
    NSLog( @"%@", dictonary );
    list.identifier = [[dictonary objectForKey:@"list_id"] integerValue];
    list.itemCount = [[dictonary objectForKey:@"list_items_count"] integerValue];
    list.name = [NSString stringWithString:[dictonary objectForKey:@"list_name"]];
    list.description = [NSString stringWithString:[dictonary objectForKey:@"list_description"]];
    list.created = [[NSDate alloc] initWithTimeIntervalSince1970:[[dictonary objectForKey:@"list_created"] doubleValue]];
    list.shareLink = [NSString stringWithString:[dictonary objectForKey:@"list_share_url"]];

    return list;
}

和listFromDictonary过去的字典:

【问题讨论】:

    标签: ios objective-c unrecognized-selector


    【解决方案1】:

    您应该将 description 属性重命名为其他名称,因为这是 iOS 回声系统中已经存在的一个字段(如果我没记错的话是 NSObject),并且会产生各种类似这样的奇怪崩溃。

    【讨论】:

      【解决方案2】:

      如果您使用core data,可能需要实现以下实例:

      Mall(entity: NSEntityDescription.entity(forEntityName: "Mall", in: context)!, insertInto: nil)
      

      Mall 是我的实体,context 是我的视图上下文。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-09-28
        • 2023-03-11
        相关资源
        最近更新 更多