uitableview cell重用细胞...但我不想重复使用细胞。 tableView正在滚动删除单元格中的文本。 所以我想在didloadview中创建所有单元格。 怎么写这段代码?? !!
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
//test
setting_detail_cell *customCell = (setting_detail_cell*)[tableView cellForRowAtIndexPath:indexPath];***
NSString *keyword1 = [[customCell Key1] text];
//
setting_cell=[tableView dequeueReusableCellWithIdentifier:CellTableIdentifier];
rowData = self.PPT_Setting[indexPath.row];
[setting_cell setNumber:rowData[@"page_num"]];
@try {
rowData_keyword =self.Keyword_list[indexPath.row];
setting_cell.Key1.text = rowData_keyword[@"key1"];
setting_cell.Key2.text = rowData_keyword[@"key2"];
setting_cell.Key3.text = rowData_keyword[@"key3"];
NSLog(@"index1 : %d",indexPath.row);;
NSLog(@"cell : %@",setting_cell);
if ([rowData_keyword[@"key1"] isEqualToString:@"(null)"] == YES) {
setting_cell.Key1.text = @" ";
}
if ([rowData_keyword[@"key2"] isEqualToString:@"(null)"] == YES) {
setting_cell.Key2.text = @" ";
}
if ([rowData_keyword[@"key3"] isEqualToString:@"(null)"] == YES) {
setting_cell.Key3.text = @" ";
}
}@catch (NSException *exception) {
NSLog(@"%@",exception);
}
return setting_cell;
}
答案 0 :(得分:0)
查找单元格是否重用。因为你的代码单元没有被重用。
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath (NSIndexPath*)indexPath
{
static NSString *cellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier forIndexPath:indexPath];
if (!cell)
cell = [[UITableViewCell alloc] initWithStyle:yourStyle reuseIdentifier: cellIdentifier];
return cell;
}
用于唯一身份识别
UITableViewCellAccessoryCheckmark
类型
答案 1 :(得分:0)
如果要设置大量单元格并且在设置单元格时使用了太多内存,则会导致内存开销。为了避免这种苹果使用可重复使用的细胞。
如果您确定需要静态分配的单元格,则创建单元格并将其保留在数组中,然后以相应的索引返回单元格(不建议使用此方法)。