0

我有一个这样构造的方法:

- (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,所以不会有任何问题。

4

3 回答 3

1

你可以把

[self jumpCountry:countryIndex];

到你的方法:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
于 2013-07-29T06:38:42.023 回答
0
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath

此方法是来自UITableViewDelegate协议的表视图的委托方法,当用户在UITableView. 你不应该自己调用这个方法。

而不是你可以创建你的方法并做你想做的任何事情并调用它viewDidLoad或任何方法。

于 2013-07-29T06:40:19.967 回答
0

以编程方式调用使用

[tabelView selectRowAtIndexPath:scrollIndexPath animated:NO scrollPosition:UITableViewScrollPositionNone];

scrollIndexPath是要选择的行的索引路径

用于创建索引路径

NSIndexPath *scrollIndexPath = [NSIndexPath indexPathForRow:0 inSection:0];
于 2013-07-29T06:42:03.040 回答