我想在segue之前从tableViewCell设置一些数据。在我的表扩展名中,我重载了didSelectRowAt来设置该数据。这是基于我读过的以下建议来触发segue的建议:
webview
我从情节提要中的表行选择操作中触发的segue正在触发,并且执行流已到达此控制器的为以下任务做的准备 之前 didSelectRowAt 正在射击。结果是,我的 performSegue (以及之前进行的设置工作)是在初次尝试后处理的,看起来目标视图控制器已快速连续加载两次-第二个是正确。
我想知道如何定义segue,但是将其从情节提要上的选择动作中删除。
ps:我知道 shouldPerformSegue 可用于中止首先出现的自动程序。.但似乎最好不必先中止它。 / p>
答案 0 :(得分:1)
将segue附加到单元格选择操作时,导航会从附件进行两次导航,一次导航是在performSegue
中的didSelectRowAt
代码中进行的,因此您需要将segue附加到VC本身
答案 1 :(得分:0)
您的segue很可能直接附加到情节提要上的tableViewCell。当您将它附加到这样的单元格上时,Xcode本质上就是将 performSegue 附加到该单元格上的 didSelectRowAt 方法。
要解决此问题,您将希望segue来自视图控制器本身。这将定义序列,而不将其附加到任何动作。然后,您将可以通过编程方式调用它。