我已经阅读了很多关于这个论点,我已经测试了这个有效的例子: source code example。但是这不使用故事板(我不知道这是否是导致我的项目无效的原因) 我用故事板制作了另一个项目,相同的教学顺序不起作用......
-(void)viewDidAppear:(BOOL)animated{
NSIndexPath *indexPath = [NSIndexPath indexPathForRow:1 inSection:0];
[firstController.tableView selectRowAtIndexPath:indexPath animated:NO scrollPosition:UITableViewScrollPositionNone];
[firstTable.delegate tableView:firstTable didSelectRowAtIndexPath:indexPath];
}
这是我的项目,与之前的链接相同,只添加了viewDidAppear my not working project 谁能告诉我有什么问题? 感谢
答案 0 :(得分:25)
我试着研究下载项目的代码。问题是firstController.tableView是零。
所以解决它:
[firstTable selectRowAtIndexPath:indexPath
animated:NO
scrollPosition:UITableViewScrollPositionNone];
或者将firstController.tableView指定给表视图。
答案 1 :(得分:22)
- (void)viewDidLoad {
[self.tableView selectRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0] animated:NO scrollPosition:UITableViewScrollPositionNone];
}
如果你想要代表的回调:
if ([self.tableView.delegate respondsToSelector:@selector(tableView:didSelectRowAtIndexPath:)]) {
[self.tableView.delegate tableView:self.tableView didSelectRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0]];
}