unwindSegue慢来解除viewController

时间:2017-01-23 15:34:02

标签: ios swift xcode unwind-segue

我正在使用在storyboard中创建的unwindSegue来关闭一个模态显示的tableViewController。

当我在didSelectRowAt中调用unwindSegue时:

override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
     chosenItem = items[indexPath.row]
     self.performSegue(withIdentifier: "Unwind Segue", sender: nil)
}

此tableViewController上的prepareForSegue和将被取消的viewController上的unwind函数立即调用。这是对将被解除的tableViewController上的segue的准备:

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    if let vc2 = segue.destination as? ItemsTableViewController {
        vc2.item = chosenItem
    }
}

这里是viewController上的展开函数,它将被解除为:

@IBAction func unwindFromAddCategory(_ segue: UIStoryboardSegue) {
        tableView.reloadData()
}

问题是被忽略的tableViewController偶尔需要几秒钟才能解散。 tableViewController行的模型只是一个字符串数组。没有任何异步发生的事情,我知道并且正在展开的viewController没有会导致此延迟的方法,也没有viewWillAppear或viewDidAppear覆盖。无法理解为什么我的UI偶尔会出现这种延迟。

0 个答案:

没有答案