繁体   English   中英

单击UITableViewCell时是否打开新的UIViewController?

[英]Open new UIViewController when clicking on UITableViewCell?

我有一个简单的表格视图,当我单击单元格时,我希望它打开一个新的UIViewController。 目前,我拥有它,以便现在可以将其转到特定的View Controller,但是似乎每个单元格都指向同一个View Controller。 我希望每个人都去一个不同的地方。 这是我的尝试:

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
    var indexPath = self.tableView.indexPathForSelectedRow()
    let navController = self.storyboard?.instantiateViewControllerWithIdentifier("ChatController") as UINavigationController

    navController.hidesBottomBarWhenPushed = true
    let chatController = navController.viewControllers.first as ChatController
    chatController.currentUserName = self.firstName + " " + self.lastName
    chatController.chatWith = chatNames[indexPath!.row]
    chatController.currentUserObjectID = self.objectID
}

但是,这似乎不起作用,因为我收到一个错误消息,说Storyboard doesn't contain a view controller with identifier 'ChatController'' 如果有帮助,则segue首先通过导航控制器,然后到达所需的视图控制器。

在UITableViewDelegate方法中, (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath调用[self performSegueWithIdentifier:kSegueIdentifier sender:self];

而且,根据indexPath,您可以设置一个不同的值,该值将通过prepareForSegue方法传递给下一个视图控制器。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM