gpt4 book ai didi

ios - 在动态 TableView 中添加静态单元格

转载 作者:行者123 更新时间:2023-11-28 20:08:10 25 4
gpt4 key购买 nike

我正在尝试添加一个静态单元格作为动态表格 View 中的第一个单元格。我在这里看到了其他问题,但它们似乎不起作用。任何帮助是极大的赞赏。我实际上得到了我的单元格,但它正在替换我的第一个动态单元格,当我在表格 View 中滚动时,我的应用程序崩溃了。

这是我到目前为止的结果:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{


static NSString *CellIdentifier = @"Cell";
CustomSideBarCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

if (indexPath.row < NUMBER_OF_STATIC_CELLS) {

cell.sidePic.image = _secondImage;
cell.sideOption.text = @"Everything";

return cell;

}

else {

cell.sidePic.image = _secondImage;
_tempResults = [_tableData objectAtIndex:indexPath.row];
_optionCategory = [[_tempResults objectForKey:@"post"] objectForKey:@"category_name"];
cell.sideOption.text = _optionCategory;

最佳答案

我认为您的问题是在创建所有静态单元格之后,您正在使用 indexPath.row 访问您的 _tableData,它从 NUMBER_OF_STATIC_CELLS 开始.

假设您有 4 个静态单元格和 6 个动态单元格。总共有 10 个单元格。因此,在创建所有静态单元格 (indexPath.row = 0 - 3) 之后,它将创建带有 indexPath.row = 4 - 9 的动态单元格,即使你的数据源 (_tableData) 只有 6 个元素。这就是为什么在访问 _tableData 时必须减去静态单元格的数量。

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath  { 
static NSString *CellIdentifier = @"Cell";
CustomSideBarCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

//static cell
if (indexPath.row < NUMBER_OF_STATIC_CELLS) {
cell.sidePic.image = _secondImage;
cell.sideOption.text = @"Everything";
return cell;
}

//dynamic cell
cell.sidePic.image = _secondImage;
//subtract the number of static rows to start at 0 for your dataSource
_tempResults = [_tableData objectAtIndex:indexPath.row - NUMBER_OF_STATIC_CELLS];
_optionCategory = [[_tempResults objectForKey:@"post"] objectForKey:@"category_name"];
cell.sideOption.text = _optionCategory;
return cell;
}

关于ios - 在动态 TableView 中添加静态单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21298565/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com