swift - 当我的 ViewController 嵌入到 UINavigationController 中时,如何对值进行排序?

标签 swift uinavigationcontroller segue viewcontroller

我有两个 View Controller ,它们通过 segues 和 prepareForSegue 方法来回发送值。这对我来说一直很完美,直到我决定将我的 ViewController 嵌入到导航 Controller 中。

如果您查看下面的方法,您会发现问题是我的 destinationViewController 不再是 ViewController...它是我新创建的 UINavigationController。

TimeViewController.swift(辅助 Controller )

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {

        var dest = segue.destinationViewController as! ViewController
        var min = selectedMinute * 60
        output = min + selectedSecond

        dest.returnedLabel = recievedString

        if cancelled == true {
            dest.returnedValue = 0
        } else {
            dest.returnedValue = output
        }

    }

一旦我的 ViewController 嵌入到 UINavigationController 中,我就会收到此错误:

Could not cast value of type 'UINavigationController' (0x1088ff698) to 'deleteCoreData.ViewController' (0x106a1f9b0).

因此,如果我将destinationViewController 转换为UINavigationController,我就理所当然地失去了对之前拥有的变量的访问权限。这些变量是我在 Controller 之间保存数据的方式。

所以我的问题是:

当我的 ViewController 嵌入 UINavigationController 中时,如何对值进行排序?

更新:这就是我的 Storyboard的样子...

enter image description here

最佳答案

将其转换为 ViewController 对我来说效果很好。

var dest = segue.destinationViewController as! ViewController

你的 segue 连接应该是:

enter image description here

关于swift - 当我的 ViewController 嵌入到 UINavigationController 中时,如何对值进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29641325/

相关文章:

ios - 您可以从多个导航 Controller 转到 Storyboard View Controller 吗?

IOS 如何将数组转至另一个 View Controller

ios - Swift 中不显示警报 View ?

swift - 在没有 Storyboard的情况下从 collectionView 显示 viewController

swift - 如何裁剪和翻转 CVPixelBuffer 并返回 CVPixelBuffer?

iphone - TabBar 应用程序是否需要 shouldAutorotateToInterfaceOrientation 在其所有 viewController 上返回 YES?

iphone - 与 interactivePopGestureRecognizer 一起调整位置

ios - 导航堆栈中前一个 View Controller 的快速访问属性

swift - 如何将应用程序下载到 iOS 模拟器?

swift - 如何使用 GeoPoint 从 Cloud Firestore 获取位置?