NSMutableArray的addObject不工作

我已经在我的视图控制器.h文件中声明了NSMutableArray *categories ,并为它声明了一个属性。

parser:foundCharacters:我的.m文件中的NSXMLParser委托的parser:foundCharacters:方法,我有这样的代码:

 -(void)parser:(NSXMLParser *) parser foundCharacters:(NSString *)string { if (elementFound) { element = string; [self.categories addObject:element]; } } 

但是,当我在debugging模式下将鼠标hover在[self.categories addObject:element]行上时,XCode告诉我这个大小是0x0,0个对象。 在我的XML文件中有3个元素,所以3个元素应该在数组中。

我错过了一些非常明显的东西,我不知道是什么。

“0x0”部分是内存地址。 具体来说,“nil”,这意味着你的可变数组在调用的时候不存在。 尝试在你的-init方法中创build它:

 categories = [[NSMutableArray alloc] init]; 

不要忘记在你的-dealloc中释放它。

使用初始化一个空数组

 categories = [NSMutableArray array]; 

数组类方法是autoreleased所以不需要释放。

 @property (Strong, nonatomic) NSMutableArray * yourArray; 

你必须使用Strong