我有一个像这样构造的方法:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
//some table related stuff
}
但是我无法调用它,所以我基本上复制并粘贴了整个函数并重命名为:
- (void)jumpCountry: (NSIndexPath *)indexPath {
//some table related stuff
}
并使用以下方法调用此方法:
[self jumpCountry:countryIndex];
然而,我的课看起来很丑(而不是首选)因为它有两个相同的方法。那么,我怎样才能直接调用初始方法(我知道它被分配给一个调用该方法的按钮)。我使用的是iOS6.1。基本上,我想直接调用的原因是我有另一个侦听通知的线程(来自位置服务),一旦收到通知,就应该更改表视图。通知本身已经搜索了NSIndexPath,因此不存在任何问题。
答案 0 :(得分:1)
你可以放
[self jumpCountry:countryIndex];
到你的方法:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
答案 1 :(得分:0)
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
此方法是来自UITableViewDelegate
协议的表视图的委托方法,当用户在UITableView
中选择一行时,它会被调用。你不应该自己称呼这种方法。
而不是你可以创建你的方法并做你想做的任何事情,并在viewDidLoad
或任何方法中调用它。
答案 2 :(得分:0)
以编程方式调用
[tabelView selectRowAtIndexPath:scrollIndexPath animated:NO scrollPosition:UITableViewScrollPositionNone];
此处scrollIndexPath
是要选择的行的索引路径
用于创建索引路径
NSIndexPath *scrollIndexPath = [NSIndexPath indexPathForRow:0 inSection:0];