exc_bad_instruction(code=EXC_I386_INVOP,subcode=0x0) 错误

对象存储异常

对象存储要遵守NSCoding协议

#import "EmotionModel.h"

@interface EmotionModel()<NSCoding>

@end

@implementation EmotionModel

/**

 *当一个对象要归档进沙盒中时,就会调用这个方法

 *目的 在这个方法中说明这个对象的哪些属性要存进沙盒

 */

- (void)encodeWithCoder:(NSCoder *)enCoder{

    [enCoder encodeObject:self.chs forKey:@"chs"];

    [enCoder encodeObject:self.code forKey:@"code"];

    [enCoder encodeObject:self.png forKey:@"png"];

}

/**

 当从沙盒中解档一个对象时(从沙盒中加载一个对象时)就会调用这个方法

 目的:在这个方法中说明沙盒中的属性该怎么解析(需要取出哪些属性)

 */

-(id)initWithCoder:(NSCoder *)decoder{

    if(self = [super init]){

    

        self.chs = [decoder decodeObjectForKey:@"chs"];

        self.code = [decoder decodeObjectForKey:@"code"];

        self.png = [decoder decodeObjectForKey:@"png"];

    

    }

    return self;

}

@end

原文地址:https://www.cnblogs.com/seeworld/p/6701703.html