无法弄清楚为什么NSMutableArray addObject不起作用

时间:2012-07-20 18:51:52

标签: objective-c nsmutablearray

  

可能重复:
  NSMutableArray addObject not working

我在.h文件中声明为(非原子,保留)的NSMutableArray,并且已正确合成。 tempRandomWord是一个总是填充的NSString。但是,count始终返回0.任何想法为什么?

[pastWords addObject:tempRandomWord];
int count=[pastWords count];
NSLog(@"%i",count);

2 个答案:

答案 0 :(得分:0)

您可能忘记了初始化阵列。您需要在viewDidLoad或其他地方使用此行

pastWords = [NSMutableArray array];

我个人喜欢把它们放在需要的地方:

if (!pastWords) {
    pastWords = [NSMutableArray array];
}

[pastwords addObject:object];

答案 1 :(得分:0)

您的阵列未初始化。 在阅读/使用该属性之前,只需在某处添加一个延迟初始化。

self.pastWords=self.pastWords?self.pastWords:[NSMutableArray array];

或直接使用iVars:

pastWords=pastWords?pastWords:[NSMutableArray new];

或init中的正常初始化

如果从类外部分配该属性,则可能需要调用mutableCopy以确保使用可变数组,即使已分配NSArray也是如此。