我有NSString
中存储的NSMutableArray
列表,NSMutableArray
中的每个值都已分配给UITableViewCell
。使用以下方法:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
如何确定选择了哪个单元格。我正在通过NSIndexPath
或任何其他方法寻找某种价值,以便在选择时更改UITableViewCell
的图标。在我知道选择了哪个单元格后,我会将单元格重新分配给新图像,然后使用:[self.homeworkTable reloadData]
重新加载数据。
我正在寻找某种简单的返回值,如0
如果选择了第一个单元格,等等。我尝试使用NSIndexPath
没有运气,作为{{1 }}不是NSIndexPath
。我该怎么做呢?
修改
我理解答案可能已经在Stack Overflow上,我根本就没有找到它,并且非常感谢我重定向到答案。
答案 0 :(得分:1)
UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
答案 1 :(得分:1)
您可以使用didSelectRowAtIndexPath
直接获取indexPath.row
(这就是重点!)
- (void)tableView:(UITableView *)tableView
didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
int index = indexPath.row;
//....
它将匹配数据源数组的索引。
有时您需要从外部didSelectRowAtIndexPath
删除方法获取它,您可以通过以下方式执行此操作:
NSIndexPath *indexPath = [self.homeworkTable indexPathForSelectedRow];
int index = indexPath.row;
答案 2 :(得分:0)
您应该使用indexPath.row,这会获取您在此tableview中选择的行。
您还应该查看有关NSIndexPath的文档: