我有多个部分的tableview。每个部分都有不同的行数。 当我在特定部分中选择特定行时,如何找到正确的indexPath.row ?任何教程?
答案 0 :(得分:15)
我不知道“正确”是什么意思。 indexPath.row
始终是该部分的本地,这意味着
section 0
---------
[ row 0 ]
[ row 1 ]
[ row 2 ]
---------
section 1
---------
[ row 0 ]
[ row 1 ]
---------
section 2
---------
[ row 0 ]
[ row 1 ]
[ row 2 ]
[ row 3 ]
---------
要获取全局行,您可以计算部分和。
NSUInteger row = 0;
NSUInteger sect = indexPath.section;
for (NSUInteger i = 0; i < sect; ++ i)
row += [dataSource tableView:tableView numberOfRowsInSection:i];
row += indexPath.row;
return row;
答案 1 :(得分:1)
UITableview向代表发送
willSelectRowAtIndexPath:
和
didSelectRowAtIndexPath:
消息
并发送
UITableViewSelectionDidChangeNotification
向观察员发送通知。
通过收听这些消息,您将知道选择了哪些行。
xCode中有一个带有UITableView的模板,这是学习UITableView的一个很好的起点。您可以围绕NSArray字符串实现它作为您的数据源。这样就可以将学习精力集中在UITableView代码上。
最好的方法是制作一个简单的UITableView,并逐步充实委托方法以及对观察者的任何调用。
Apples类引用将为您提供很长的路要走。