Iphone 从自定义UITableViewCell访问indexPath

Iphone 从自定义UITableViewCell访问indexPath,iphone,uitableview,nsindexpath,Iphone,Uitableview,Nsindexpath,我正在尝试创建一个UITableView,以允许用户输入数据,类似于UITableView的许多设置,带有一些文本字段和对其他TableView的调用以用于复选框。对于应用程序中这样一个常见的功能,这似乎不是很直截了当 从自定义UITableViewCell访问indexPath.row时遇到问题。这里是分配自定义UITableViewCell的位置 UITableViewCell *cell = (UITableViewCell *)[tableView dequeueReusableCell

我正在尝试创建一个UITableView,以允许用户输入数据,类似于UITableView的许多设置,带有一些文本字段和对其他TableView的调用以用于复选框。对于应用程序中这样一个常见的功能,这似乎不是很直截了当

从自定义UITableViewCell访问indexPath.row时遇到问题。这里是分配自定义UITableViewCell的位置

UITableViewCell *cell = (UITableViewCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
    cell = [[[TextFieldCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];      
}
在我的TextField类的@implementation中,在-(id)initWithStyle:中,我试图通过以下方式访问indexPath:

NSIndexPath *indexPath = [(UITableView *)self.superview indexPathForCell:self];
。。。要将textfield的标记设置为:

textRow = [[UITextField alloc] initWithFrame:CGRectMake(0, 0, 200, 21)];
textRow.tag = [indexPath row];
谁能帮我解释一下我的问题,或者告诉我如何通过编程创建基本设置样式的表视图


谢谢

我认为问题可能是在初始化单元格时,它尚未添加到UITableView中-因此self.superview返回零

UITableViewCell *cell = (UITableViewCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
    cell = [[[TextFieldCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];      
}
[cell setTag:indexPath.row];
您需要向TextFieldCellClass添加一个setTag:方法。我假设代码在cellForIndexPath或其他什么的内部,所以indexPath将被传递给该方法

set-tag方法应该如下所示:

-(void)setTag:(int)tag {
    textRow.tag = tag;
}

非常感谢,这正是我想要的。