我正在尝试在应用终止时通过编码保存应用状态。 我发现解决方案与此问题有关。 但我不知道如何使用。
我真的想尝试像这样进行编码和解码: http://cocoaheads.byu.edu/wiki/nscoding
CustomObject.h中的
@interface CustomObject : NSObject <NSCoding>
{
NSArray *someArray;
}
CustomObject.m中的
@implementation CustomObject
// Other method implementations here
- (void) encodeWithCoder:(NSCoder*)encoder {
[encoder encodeObject:someArray forKey:@"someArray"];
}
- (id) initWithCoder:(NSCoder*)decoder {
if (self = [super init]) {
someArray = [[decoder decodeObjectForKey:@"someArray"] retain];
}
return self;
}
@end
我要保存的对象是另一个NSArray。 CustomObject中不是“someArray”。我们称之为“MySaveObject”。 我想在CustomObject中将“MySaveObject”传递给“someArray”。
实际上我不知道如何编码“MySaveObject”并在CustomObject中传递给“someArray”。
提前致谢。
答案 0 :(得分:0)
您必须确保数组中包含的对象也能够进行编码。如果这些对象是自定义对象,则必须自己实现NSCoding
。