* - [__ NSArrayM count]:发送到解除分配的实例0x5edd5e0的消息
我正在获取此类异常,并且崩溃了我的应用。代码是:
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
if(section == 0){
return ([billDetials count]+ 1);
}
int rows = ([billers count] + 1);
return rows;
}
[billers count]这个陈述我得到了那个例外...... 这里的billers是NSMutableArray,有6个对象。 tableView由2个部分组成。
所以我应该把数组计算为6,但它不会发生......
答案 0 :(得分:6)
听起来像billers数组没有得到妥善保留。确保它是一个保留属性,或者在创建该数组时正确保留它。
答案 1 :(得分:2)
在您调用count方法之前,似乎已经取消分配'billers'NSArray。这可能是由于在发送计数方法之前自动释放或手动释放。
如果您使用“alloc”和“init”初始化billers,那么您可能很快就会释放该对象。如果您使用便捷方法或“autorelease”初始化它,那么该对象过早被垃圾收集(您需要保留它)。