• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

ios - 将 unwind segue 与 UISearchController 一起使用时出错

[复制链接]
菜鸟教程小白 发表于 2022-12-11 17:49:19 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我有一个带有 UITableViewController 的导航 Controller 。

当用户在 TableViewController 上选择一个单元格时,它会推送到一个新的 View Controller,其中包含一个 Table View。然后用户选择一个单元格,数据通过展开转场传回。

问题是在选择单元格之前使用搜索栏时出现此错误。这是控制台的内容:

popToViewController:transition: called on <UINavigationController 0x7fc8ab856e00> while an existing transition or presentation is occurring; the navigation stack will not be updated.

来自 View Controller 的代码我正在展开来自:

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
        tableView.deselectRow(at: indexPath, animated: true)
        let cell = tableView.cellForRow(at: indexPath) as! MonsterSpriteCell
        let monster = monsters[indexPath.row]
        selectedMonster = monster
        if isTeamBuilding {
            // **ERROR OCCURS HERE**
            performSegue(withIdentifier: "saveToTeamBuilderTableVC", sender: cell)
        } else {
            performSegue(withIdentifier: "showMonsterDetail", sender: self)
        }
    }

这是项目的链接。我正在展开的 View Controller 是浏览 View Controller 。我要放松的 View Controller 是 TeamBuilderViewController https://github.com/emanleet/monsterpedia

编辑:我认为可能需要注意的是,segue 展开到 TeamBuilderTableViewController,它是一个 View Controller ,它位于容器内,作为另一个 View Controller 的一部分。有谁知道这是否是我的 unwind segue 不起作用的原因?



Best Answer-推荐答案


SearchController 呈现一个空 View Controller
如果您在搜索处于事件状态时在 didSelectRow.. 中打印 presentedViewController,您将看到一个 View Controller 。
这意味着您正在尝试从当前演示文稿下执行 segue。在执行任何 segue 或演示之前,您应该关闭 SearchController

同样在这种情况下,您不需要 SearchController,因为您只使用 SearchBar 进行过滤。
取而代之的是,在 tableViewHeaderView 中放置一个 SearchBar 并使用它的委托(delegate)进行过滤,而不是检查 isActive 是否可以访问完整列表。过滤后的结果,只需在文本被清除时将整个数组放入过滤器中,并始终访问过滤后的结果。

关于ios - 将 unwind segue 与 UISearchController 一起使用时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40002392/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap