我正在SWIFT中开发IOS应用程序.

我想使用prepareForSegue函数将数据从一个视图发送到另一个视图.

但是,我的目标视图前面有一个导航控制器,所以它不起作用.如何在导航控制器中包含的VC上设置数据?

推荐答案

prepareForSegue中,访问目标导航控制器,然后访问其顶部:

let destinationNavigationController = segue.destination as! UINavigationController
let targetController = destinationNavigationController.topViewController

您可以从目标控制器访问其视图并传递数据.

在Swift和UIKit的旧版本(现已过时)中,代码略有不同:

let destinationNavigationController = segue.destinationViewController as UINavigationController
let targetController = destinationNavigationController.topViewController

Ios相关问答推荐

使用CGAffineTransform旋转视图只起作用一次吗?

如何在PINCH上添加UITextfield以zoom 图像

SWIFT根据地球坐标修改 node 旋转

删除领域中的cartItem时出现问题

SWIFT用户界面检测手势的开始和结束

ios PWA从外部链接返回后降低了innerheight

当S没有身体时该如何处理

JSON响应中的键有时为Int,有时为字符串

在Xcode 15中为具有@Binding的视图创建SwiftUI #预览的方法

不使用故事板创建 iMessage 应用程序

Flutter动画放大图

具有多个目标的应用程序的动态内容

TextField 重复输入 SwiftUI

SwiftUI - 在ForEach的每个元素之间自动添加分隔符

在 Swift 中合并子数组

使用 Vim 代替(或与)Xcode 进行 iOS 开发

iPhone iOS 无法正确显示 box-shadow

在两个或多个 iPhone 应用程序之间共享数据

AFNetworking 发布请求

在 NSUserDefaults 中保存图像?