Ios 标识符的性能不一致

Ios 标识符的性能不一致,ios,swift,tableviewcell,Ios,Swift,Tableviewcell,我没有在我的项目中使用任何导航控制器。这个项目是采取在线是侧栏菜单的Swift。在侧边栏菜单中,有一个表视图,每一行都将performsguewithidentifier 问题: 在tableViewCell上的最初几次点击就像一个符咒,它只需点击一下就可以关闭菜单。但之后,需要双击tableViewCell以关闭菜单 需要两次单击才能关闭菜单:(第一次单击tableViewCell,viewController将消失,第二次单击tableViewCell将关闭菜单) 导航视图控制器(侧栏菜单)

我没有在我的项目中使用任何导航控制器。这个项目是采取在线是侧栏菜单的Swift。在侧边栏菜单中,有一个表视图,每一行都将
performsguewithidentifier

问题:

在tableViewCell上的最初几次点击就像一个符咒,它只需点击一下就可以关闭菜单。但之后,需要双击tableViewCell以关闭菜单

需要两次单击才能关闭菜单:(第一次单击tableViewCell,viewController将消失,第二次单击tableViewCell将关闭菜单)

导航视图控制器(侧栏菜单)

情节提要

资源取自。

请尝试使用:

    dispatch_async(dispatch_get_main_queue(), {}); 
下面是关于“bug”的一些信息。但我认为苹果已经解决了

您的代码应该如下所示:

func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
self.snapshot.removeFromSuperview()
var segueName: NSString = "";

if (indexPath.row == 0) {
    print("ROW 1")
    segueName = "listview"

}
if (indexPath.row == 1) {
    print("CLICK ROW 2")
    segueName = "othernav"
}

dispatch_async(dispatch_get_main_queue(), {}); 
self.performSegueWithIdentifier(segueName as String, sender: self)
}
如果这不起作用,您可以尝试以下方法:

替换

dispatch_async(dispatch_get_main_queue(), {}); 
    self.performSegueWithIdentifier(segueName as String, sender: self) 
与:

   NSOperationQueue.mainQueue().addOperationWithBlock {
              self.performSegueWithIdentifier(segueName as String, sender: self) } 
   NSOperationQueue.mainQueue().addOperationWithBlock {
              self.performSegueWithIdentifier(segueName as String, sender: self) }