【发布时间】:2014-12-11 11:54:56
【问题描述】:
我正在开发一个自定义相机应用程序,我在其中以模态方式呈现 3 个视图控制器。在每个 segue 中,我使用 prepareForSegue 函数传递数据。我的问题是在相机工作完成后,我需要再显示 2 个视图控制器,这些视图控制器需要位于导航控制器中。
我已经意识到,如果我不传递任何数据,导航控制器就可以正常工作。但是,当我传递数据时,应用程序在运行时崩溃。这样做的正确方法是什么?
这是我为 segue 函数做的准备;
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "camera2Crop"{
let controller: CropViewController = segue.destinationViewController as CropViewController
controller.photoTaken = self.photoTaken
}
}
其中photoTaken 是一个UIImage 对象。此外,这是我放置导航控制器的故事板的屏幕截图。我将CustomCameraViewController 中的prepareForSegue 函数调用到CropViewController。
编辑:我已将 prepareForSegue 更改为以下代码;
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "camera2Crop" {
let controller: CustomNavigationController = segue.destinationViewController as CustomNavigationController
controller.photoTaken = self.photoTaken
}
}
现在应用程序没有崩溃,但我不知道如何通过导航控制器发送对象
【问题讨论】:
-
您可以在共享数据的地方共享一段代码吗?我认为您正在尝试将值传递给 ui 对象。
-
我已经编辑了我的帖子。您还需要其他什么来了解问题所在吗?
标签: ios xcode uinavigationcontroller uistoryboardsegue