我试过这个,但在cellforrowatindexpath
中出现异常错误以下是我得到的例外情况。
断言失败 - [UITableView _createPreparedCellForGlobalRow:withIndexPath:],/ SourceCache / UIKit_Sim / UIKit-1914.84
if(aTableView==specTable)
{
static NSString *CellIdentifier = @"cell";
UITableViewCell *cell = [specTable dequeueReusableCellWithIdentifier:CellIdentifier];
if(cell==nil)
{
cell=[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue2
reuseIdentifier:CellIdentifier];
}
return cell;
}
else
{
static NSString *CellIdentifier2 = @"cell2";
UITableViewCell *cell= [table2 dequeueReusableCellWithIdentifier:ReviewCellIdentifier2];
}
return cell;
答案 0 :(得分:0)
两个问题:
cell2
。在此方法结束时,无论发件人表视图是否等于第一个或第二个,都始终返回cell
。else
分支)dequeueReusableCellWithIdentifier:
消息返回nil
,则不会像在第一部分中那样创建单元格。总而言之:
if (aTableView == specTable)
{
static NSString *cellIdentifier = @"cell";
UITableViewCell *cell = [specTable dequeueReusableCellWithIdentifier:cellIdentifier];
if (cell == nil)
{
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue2
reuseIdentifier:CellIdentifier] autorelease]; // you were also leaking memory here
}
return cell;
}
else
{
static NSString *cellIdentifier2 = @"cell2";
UITableViewCell *cell2 = [table2 dequeueReusableCellWithIdentifier:cellIdentifier2];
if (cell2 == nil)
{
cell2 = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue2
reuseIdentifier:CellIdentifier] autorelease];
}
return cell2;
}
return nil; // just to make the compiler happy