我在.h文件中声明为(非原子,保留)的NSMutableArray,并且已正确合成。 tempRandomWord是一个总是填充的NSString。但是,count始终返回0.任何想法为什么?
[pastWords addObject:tempRandomWord];
int count=[pastWords count];
NSLog(@"%i",count);
答案 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也是如此。