从自定义UITableViewCell获取值

时间:2011-07-25 15:50:33

标签: objective-c ios cocoa-touch uitableview

我有一个自定义的UITableViewCell,它有一个UISegmentedControl对象。我的UITableView(问卷表单)有6个这样的自定义单元格(6个​​分段控件)。我无法获得selectedSegmentIndex段控件。我的猜测是在生成表格后正在释放单元格。我使用以下代码获取值:

MyCustomCell *q1 = (MyCustomCell *)[tableView cellForRowAtIndexPath:[NSIndexPath indexPathWithIndex:0]];

int segmentIndex = (int) q1.segmentedController.selectedSegmentIndex;
无论所选索引是什么,int segmentIndex总是给出0的相同值。

1 个答案:

答案 0 :(得分:4)

您必须使用正确的方法初始化您想要使用的部分和行的索引路径,否则将无法正确设置rowsection属性,并且您将获得相同的单元格每次:
+(NSIndexPath *)indexPathForRow:(NSUInteger)row inSection:(NSUInteger)section;

代码如下:

// getting the cell at third row of first section
NSIndexPath *ip = [NSIndexPath indexPathForRow:2 inSection:0];
MyCustomCell *q1 = (MyCustomCell *)[tableView cellForRowAtIndexPath:ip];
int segmentIndex = (int) q1.segmentedController.selectedSegmentIndex;

您还可以参考:NSIndexPath UIKit Additions Reference了解更多信息。