我正在尝试创建一个不重复使用单元格的tableview。
在
中- (UITableViewCell *)tableView:(UITableView *)tableView
cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
cell = [[SignUpUserCell alloc] initWithStyle:UITableViewCellStyleDefault
reuseIdentifier:CellIdentifier];
cell.delegate = self;
return cell;
}
但是这不会加载我的自定义单元格。但是当我添加dequeReusableCellWithIdentifier时:它完美无缺。但是我不想再使用细胞了。
- (UITableViewCell *)tableView:(UITableView *)tableView
cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
SignUpUserCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
if (!cell) {
cell = [[SignUpUserCell alloc] initWithStyle:UITableViewCellStyleDefault
reuseIdentifier:CellIdentifier];
}
cell.keyLabel.text = [parameterDictionary objectForKey:@"secondLabel"];
cell.textField.text = [parameterDictionary objectForKey:@"secondField"];
// and some more elements
cell.delegate = self;
return cell;
}
如何使用不可重用的tablecells正确创建tableview。我在这做错了什么?
答案 0 :(得分:1)
您确定这是您实际使用的代码吗?
- (UITableViewCell *)tableView:(UITableView *)tableView
cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
cell = [[SignUpUserCell alloc] initWithStyle:UITableViewCellStyleDefault
reuseIdentifier:CellIdentifier];
cell.delegate = self;
return cell;
}
我问的原因是你没有定义cell
是什么,代码应该是这个......
- (UITableViewCell *)tableView:(UITableView *)tableView
cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
SignUpUserCell * cell = [[SignUpUserCell alloc] initWithStyle:UITableViewCellStyleDefault
reuseIdentifier:CellIdentifier];
cell.delegate = self;
return cell;
}
答案 1 :(得分:0)
需要:
return cell;
不是
return self;