目标C:NSMutableArray不保留对象

时间:2011-09-08 01:53:11

标签: iphone objective-c ios arrays

我对此感到困惑,我在数组中设置了对象,但是当我们将它们全部设置后进行检查时,它会显示为(null)

for (int i = 0; i < [lines count]; i+=2) {
    [terms addObject:[lines objectAtIndex:i]];
    NSLog(@"%@",[terms objectAtIndex:i]);
}

我做错了吗? terms在标题中声明,设置为属性,并合成为NSMutableArray

2 个答案:

答案 0 :(得分:7)

在使用之前,必须首先分配并初始化数组。设置属性使它可以在类外部访问,合成器设置getter和setter但它不会分配和初始化它。

NSMutableArray* terms = [[NSMutableArray alloc] init];

答案 1 :(得分:0)

“综合为NSMutableArray” - 这是一个奇怪的措辞。在ObjC中,@synthesize不初始化变量 - 只生成一个getter和一个setter方法。您仍然必须以某种方式分配变量 - 通过分配属性或直接设置相应的ivar。 init是一个不错的选择。