滚动TableView时出现EXC_BAD_ACCESS错误

时间:2013-12-30 16:02:09

标签: ios objective-c cocoa-touch uitableview

这个问题吓坏了我。我知道很多其他人已经发布了相关内容,但没有一个与我的问题相关。

我的目标是将NSMutableArray中的元素显示为UITableViewController 为了做到这一点,我已经在.h文件中声明了数组:

@property (strong, nonatomic) NSMutableArray * departures;

-viewDidLoad的{​​{1}}中,我分配了它:

UITableViewController

在xml解析过程中,我将元素添加到离开数组中:

self.departures = [[NSMutableArray alloc] initWithObjects:nil];

最后我在myDeparture = [DepartureModel createDepartureWithScheduled:scheduledData Expected:expectedData Town:townData Stop:stopData Platform:platformData]; [self.departures addObject:myDeparture];

中加载数据
-cellForRowAtIndexPath:

我想知道为什么每当我尝试滚动static NSString *CellIdentifier = @"CellPartenza"; UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath]; if (cell == nil) { cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier]; } DepartureModel *dep = [self.departures objectAtIndex:indexPath.row]; // Configure the cell... cell.textLabel.text = dep.scheduled; //****** ERROR HERE cell.detailTextLabel.text = dep.town; 时都会收到错误EXC_BAD_ACCESS

提前谢谢!

1 个答案:

答案 0 :(得分:2)

请检查DepartyreModel的{​​{1}}属性是否声明为scheduled

强引用会增加保留计数,因此当您为其分配自动释放的对象时,它不会在runloop结束时释放。