添加准备功能后导航栏消失

萨蒂

我正在使用录音应用程序。

我尝试在我的第一个录制视图控制器中添加导航控制器,然后可以使用以下函数准备将文件名数组传递给第二个视图控制器:

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    let controller = segue.destination as? MainViewController
    controller?.recordArray = recordingArray
    self.present(controller!, animated: true, completion: nil)
}

但是,当在模拟器中运行时,第二个控制器中的导航栏消失了,Xcode 弹出警告

线程 1:EXC_BAD_ACCESS(代码=2,地址=0x7fff51edfff8)

有没有人有任何建议?谢谢!

牧羊人大卫

永远不要present(_:animated:completion:)在里面打电话prepare(for segue:)

prepare(for segue)在 segue 即将发生之前由系统自动调用,让您准备发送到目标视图控制器的数据或在执行 segue 之前执行任何其他计算。需要在 Storyboard 中设置一个 segue,它将被自动调用,或者如果它是手动 segue,您需要使用它来调用它perform(segue),一旦您这样做,系统就会呼叫prepare(for segue)您。您可以看到为什么调用另一个导航函数被证明是有问题的,因为您正在尝试使用两种不同的方法(segue 和present)导航到另一个视图控制器。

如果您还没有在 Storyboard 中设置 segue,那么您也需要这样做,因为如果没有设置,let controller = segue.destination as? MainViewController它将是nil.

在 Storyboard 中设置 segue 后,您的函数应如下所示:

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    if let controller = segue.destination as? MainViewController {
        controller.recordArray = recordingArray
        self.present(controller, animated: true, completion: nil)
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

segue后导航栏消失

来自分类Dev

IOS:推送搜索后导航栏消失

来自分类Dev

调整大小后导航栏消失

来自分类Dev

调整屏幕大小后,导航栏消失[Bootstrap]

来自分类Dev

执行转换动画后,导航栏中的iOS UIButton消失

来自分类Dev

通过主要部分后粘性导航栏消失

来自分类Dev

导航栏消失

来自分类Dev

导航链接/栏消失

来自分类Dev

导航栏消失

来自分类Dev

单击后消失的导航消失

来自分类Dev

如何使用情节提要在消失的导航栏上添加栏按钮项?

来自分类Dev

键入搜索栏时消失的导航栏

来自分类Dev

chrome浏览器缩小后,如何解决导航栏消失的问题?

来自分类Dev

单击汉堡图标并调整窗口大小后,导航栏消失(我不希望它隐藏)

来自分类Dev

导航栏下的空白,仅在下一节的标题中添加边框时消失

来自分类Dev

搜索栏在点击后消失

来自分类Dev

搜索栏在点击后消失

来自分类Dev

添加左侧导航栏

来自分类Dev

从 Appdelegate 导航时,标签栏和导航栏消失了

来自分类Dev

Bootstrap导航栏使用传单消失

来自分类Dev

导航栏在Internet Explorer中消失

来自分类Dev

从Segue显示视图时,导航栏消失

来自分类Dev

使导航栏粘性使下拉内容消失

来自分类Dev

导航栏消失的速度快于视图消失的速度

来自分类Dev

导航到特定视图时导航栏消失

来自分类Dev

在导航栏的左侧添加标题

来自分类Dev

在自身中添加导航栏

来自分类Dev

单击链接后,使导航菜单消失的问题

来自分类Dev

无法在导航栏上添加导航项