gpt4 book ai didi

iOS,重写 cellForRowAtIndexPath 以返回自定义单元格

转载 作者:行者123 更新时间:2023-11-28 18:32:47 25 4
gpt4 key购买 nike

为了向单元格添加一个可用于标识行的属性,我创建了一个自定义单元格,它是 UITableViewCell 的子类。该部分似乎工作正常,但是当我尝试实现 didSelectRowAtIndexPath 时,我无法获取我的自定义单元格指针,因此无法访问该属性。我是否需要覆盖 cellForRowAtIndexPath?

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

static NSString *MyIdentifier = @"MyReuseIdentifier";

NLSTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:MyIdentifier];

if (cell == nil) {
cell = [[NLSTableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:MyIdentifier];
}

NSLog(@"indexPath: %ld", indexPath.row);
NSDictionary *cellDict = [self.sql getTitleAndIdForRow:indexPath.row];

NSArray *keys = [cellDict allKeys];
id rowId = [keys objectAtIndex:0];
id title = [cellDict objectForKey:rowId];

cell.textLabel.text = title;
cell.rowId = (NSUInteger)rowId;
return cell;
}

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
[tableView deselectRowAtIndexPath:indexPath animated:YES];

//This message returns a UITableViewCell, not a my custom NLSTableViewCell
UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];

NSString *string = [[NSString alloc] init];
string = cell.textLabel.text;
NSUInteger rowId = cell.rowId;
NSLog(@"id: %ld, title: %@", rowId, string);
}

最佳答案

类型转换怎么样?

NLSTableViewCell *cell = (NLSTableViewCell *) [tableView cellForRowAtIndexPath:indexPath];

关于iOS,重写 cellForRowAtIndexPath 以返回自定义单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24951447/

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