存储阵列中的NSNumbers消失

时间:2010-06-20 21:22:01

标签: objective-c nsmutablearray retain nsnumber

所以我将NSNumber对象的NSMutableArray存储到文件“times.plist”中,然后加载它并在启动时保留它,NSLog显示正确的值,但后来[times count]等于0.为什么是NSNumbers消失?

times = [[NSMutableArray alloc] initWithObjects:[[NSNumber alloc] initWithFloat:time],nil];
...

[times writeToFile:@"times.plist" atomically:YES];
...

times = [[NSMutableArray arrayWithContentsOfFile:@"times.plist"] retain];
NSLog(@"%f",[[times objectAtIndex:0] floatValue]);

1 个答案:

答案 0 :(得分:0)

好的DUMB DUMB DUMB。永远不要做我做的事。在我的-init;方法我已经使用代码启动了我的时间数组:

times = [[NSMutableArray alloc] initWithObjects:nil];

我试图用以下方法恢复它们:

times = [[NSMutableArray arrayWithContentsOfFile:@"times.plist"] retain];

但是在我开始之前我正在恢复它并且每次都删除它。从错误中吸取教训,检查你的错误顺序;方法。 ALWAYS。