我对此感到困惑,我在数组中设置了对象,但是当我们将它们全部设置后进行检查时,它会显示为(null)
for (int i = 0; i < [lines count]; i+=2) {
[terms addObject:[lines objectAtIndex:i]];
NSLog(@"%@",[terms objectAtIndex:i]);
}
我做错了吗? terms
在标题中声明,设置为属性,并合成为NSMutableArray
答案 0 :(得分:7)
在使用之前,必须首先分配并初始化数组。设置属性使它可以在类外部访问,合成器设置getter和setter但它不会分配和初始化它。
NSMutableArray* terms = [[NSMutableArray alloc] init];
答案 1 :(得分:0)
“综合为NSMutableArray” - 这是一个奇怪的措辞。在ObjC中,@synthesize
不初始化变量 - 只生成一个getter和一个setter方法。您仍然必须以某种方式分配变量 - 通过分配属性或直接设置相应的ivar。 init
是一个不错的选择。