如何获取选定的行IOS

Fer*_*roz 2 iphone xcode objective-c ios

如何知道当前在表视图中选择了哪一行,而不使用任何全局变量来使用此方法存储最后单击的行.

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
Run Code Online (Sandbox Code Playgroud)

小智 8

如果您在outlet属性中有UITableView,则可以像这样获取所选行:

[tableView indexPathForSelectedRow]
Run Code Online (Sandbox Code Playgroud)

这将返回包含所选行的行和节号的indexPath.

请参阅http://developer.apple.com/library/ios/#documentation/uikit/reference/UITableView_Class/Reference/Reference.html#//apple_ref/occ/instm/UITableView/indexPathForSelectedRow.


bry*_*mac 7

您不需要全局变量. 如果需要跟踪当前选定的行,则可以在类视图中创建成员变量(iVar),该类是表视图回调的委托.

该方法将传递indexPath,该indexPath具有所选的行.如果你想记住其他函数回调,那么在该类中创建一个属性或iVar.

在标题中:

@interface MyTableViewController : UITableViewController {
    NSInteger _selectedRow;
}
Run Code Online (Sandbox Code Playgroud)

在实施中

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{
   _selectedRow = indexPath.row;
}
Run Code Online (Sandbox Code Playgroud)