Кажется ли это правильным, dataFilePath находится на диске и содержит правильные данные, но массив MSMutable не содержит никаких объектов после initWithCoder? Я, наверное, просто что-то упустил, но я хотел бы быстро проверить здесь, прежде чем двигаться дальше.
-(id)initWithCoder:(NSCoder *)decoder {
self = [super init];
if(self) {
[self setReactorCore:[decoder decodeObjectForKey:@"CORE"]];
}
return self;
}
.
-(id)init {
self = [super init];
if(self) {
if([[NSFileManager defaultManager] fileExistsAtPath:[self dataFilePath]]) {
NSMutableData *data = [[NSMutableData alloc] initWithContentsOfFile:[self dataFilePath]];
NSKeyedUnarchiver *unArchiver = [[NSKeyedUnarchiver alloc] initForReadingWithData:data];
NSMutableArray *newCore = [[NSMutableArray alloc] initWithCoder:unArchiver];
[self setReactorCore:newCore];
[newCore release];
[data release];
[unArchiver release];
} else {
NSMutableArray *newCore = [[NSMutableArray alloc] init];
[self setReactorCore:newCore];
[newCore release];
}
}
return self;
}
EDIT_001
Мне кажется, я знаю, в чем проблема, я архивирую NSData, а затем пытаюсь инициализировать мой массив NSMutable. Я переработаю код и отправлю обратно с обновлением.
* 1013 Гэри *