提问人:Abednego David 提问时间:7/26/2021 更新时间:7/26/2021 访问量:58
Xcode:Swift - 将 TableView 连接到委托会导致点击单元格两次推送编辑控制器
Xcode: Swift - Connecting TableView to delegate causes tapping on cell to push the Edit Controller twice
问:
表视图放置在视图控制器上。当点击特定单元格以查看/编辑数据时,它会动画推送两次,相同的编辑视图控制器出现两次。点击后退按钮时也是如此,因为我必须关闭同一页面两次才能返回表视图单元格。
当我不小心与委托断开连接时,它没有发生,我不知何故它自行修复。但是我无法使用滑动操作来删除单元格。因此,我检查了问题并重新连接了代理。因此,它开始再次推送同一页面两次,然后我意识到它与委托或数据源有关,后者通过从表视图拖动来连接。
非常感谢一些关于为什么会发生这种情况以及如何解决它的帮助。
答:
1赞
Kush Bhavsar
7/26/2021
#1
您必须同时使用 'tableView(_:didSelectRow:)' 和 'Storyboard Segue' 来推送 ViewController。
如果通过点击 Storyboard 中的单元格触发 segue,则不必在 tableView(_:didSelectRow:) 回调中调用 performSegue()。
您可以:
- 尝试删除“Storyboard Segue”。或
- 尝试删除代码上的 tableView(_:didSelectRow:) 回调。
它仍然会执行 Segue,但只有一次。
评论
0赞
Abednego David
7/27/2021
感谢您@SwiftiOS的建议。您的第二个建议解决了问题。但是,当我尝试第一次尝试时,编辑视图控制器显示为空白。我把它留给可能面临相同问题的其他用户。
评论