【发布时间】:2010-02-08 16:53:40
【问题描述】:
我遇到了一个问题。每次我启动我的应用程序时,它都会崩溃。这是我的代码。
调试器说:[list count] 使应用程序崩溃。我不知道。 NSLog(@"%@", self.list); 按预期给了我一件物品...
if ([[NSFileManager defaultManager] fileExistsAtPath:filePath]) {
data = [[NSData alloc] initWithContentsOfFile:filePath];
unarchiver = [[NSKeyedUnarchiver alloc] initForReadingWithData:data];
NSMutableArray *array = [unarchiver decodeObjectForKey:@"TOWN"];
[unarchiver finishDecoding];
[unarchiver release];
[data release];
}
self.list = array;
NSLog(@"%@", self.list);
NSLog(@"count %i", [list count]);
打开的存档是这样创建的:
Adding *adding = [[Adding alloc] init];
adding.nummer = 1;
adding.stadt = stadt.text;
NSMutableData *data = [[NSMutableData alloc] init];
NSKeyedArchiver *archiver = [[NSKeyedArchiver alloc]
initForWritingWithMutableData:data];
[archiver encodeObject:adding forKey:@"TOWN"];
[archiver finishEncoding];
[data writeToFile:[self dataFilePath] atomically:YES];
如果您需要任何其他代码,请告诉我。我会非常感谢任何帮助:)
【问题讨论】:
-
ivar列表是如何声明的?
-
你能显示定义列表属性的代码吗?它是保留财产吗?
-
对不起。是的,它被保留了。
NSMutableArray *list; ... @property (nonatomic, retain) NSMutableArray *list; -
[self.list count] 是否崩溃(list 和 self.list 是否相同?)
-
是的。一样的。两者都崩溃了......
标签: iphone crash count nsmutablearray nskeyedarchiver