如何在Coredata中存储带有struct的自定义对象

S.P*_*.P. 6 iphone core-data objective-c

我必须将自定义类对象存储到Coredata.问题是我的自定义类包含结构,枚举等.我试过以下方法.

- (void)encodeWithCoder:(NSCoder*)编码器.

但是我得到了这个错误

[NSKeyedArchiver encodeValueOfObjCType:at:]:这个归档器不能编码结构'

将此对象存储到Coredata的最佳做法是什么?请帮我.

epa*_*tel 6

你可以将结构包装在一个NSData,即

使用归档器进行编码

[coder encodeObject:[NSData dataWithBytes:&my_struct length:sizeof(my_struct)] 
             forKey:@"my_struct"];
Run Code Online (Sandbox Code Playgroud)

并使用归档器进行解码

NSData *data = [coder decodeObjectForKey:@"my_struct"];
[data getBytes:&my_struct length:sizeof(my_struct)];
Run Code Online (Sandbox Code Playgroud)