NSMutableArray与NSArray

我创build了一个脚本,女巫从服务器加载XMLparsing它保存到NSMutableArray

[kategorienArray addObject:catName]; 

catName是一个string,如果我NSLog的数组一切正常。

之后,我创build了一个tebleview,并重新加载数据

 [kategorienAuswahl reloadData]; 

KategorienAuswahl是我的TableView

现在一个得到的问题

如果我使用“正常”的数组

 NSArray *array = [[NSArray alloc] initWithObjects:@"iPhone", @"iPod", @"iPad",nil]; self.listData = array; [array release]; 

将显示,但如果我使用

 cell.textLabel.text = [kategorienArray objectAtIndex:row]; 

我得到了EXC_BAD_ACCESS

相反,它可以正常工作

 cell.textLabel.text = [listData objectAtIndex:row]; 

我加nwo

 kategorienArray = [[NSMutableArray alloc] init]; kategorienArray = [NSMutableArray arrayWithCapacity:10]; 

但是现在我在Tableview中没有任何数据

你可能没有初始化你的kategorienArray 。 你有一个kategorienArray = [[NSMutableArray alloc] init]; 在你的代码? 在向其中添加对象并访问它们之前,应该先完成此操作。

此外,请确保您的数组在创build时保留,以便系统在访问其项目之前不会回收它的内存。 我用来确保事情正确的方法是将可变数组声明为属性。 在你的viewcontroller的.h文件放

 @property (nonatomic, retain) NSMutableArray *kategorienArray; 

并放在你的.m文件中

 @synthesize kategorienArray; 

在顶部,然后

 self.kategorienArray = [NSMutableArray array]; 

viewDidLoad或其他地方,在添加项目之前。

问题可能是“kategorienArray”已被(自动)释放。 'kategorienArray'是一个伊娃吗? 看看你是否创build了正确保存的数组(特别是如果使用类方法创build的)。