我使用以下代码启动了 UITableView:
ProductTableView *tableProd = [[ProductTableView alloc]initWithNibName:@"ProductTableView" bundle:nil];
xib文件确实存在!
由于我在单独的 UIView 中显示此表,因此我通过以下方式将其添加到此屏幕:
[content addSubview:tableProd.view];
我使用 xcode 创建了一个标准的 UITableView 并设置了以下功能:
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
return 1;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return 10;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}
cell.textLabel.text = @"test";
return cell;
}
该表显示在模拟器中,其中 10 行填充了测试。但是,当我开始滚动并且第一个单元格离开屏幕时,模拟器会因 EXC_BAD_ACCESS 错误而崩溃。我尝试使用 Instruments 来检测 NSZombie 并且软件标记了僵尸。不幸的是,我无法将此错误追溯到原因。
有谁知道这里出了什么问题?