gpt4 book ai didi

xcode - 如何跨 View Controller 移动数据?以一种简单的 Swift-iOS8 方式

转载 作者:行者123 更新时间:2023-11-28 05:33:24 24 4
gpt4 key购买 nike

我已经阅读了很多关于在 Swift iOS 编程中跨 View Controller 移动数据的操作方法,但到目前为止我还没有找到一个大的共识:

  • 临时模型(我认为对于小数据是不必要的)
  • 变量/占位符
  • 协议(protocol)
  • 其他...

Objective-C 中关于引用和指针的规则可能不适用于 Swift,因此在内存中通过协议(protocol)飞越的值可能不相同,或者我不知道(这就是我问的原因)。

因此,以一种非常简单但做得很好的方式,如果我在 ViewController1 中有一个变量 say... - String 类型的结果,我如何才能使其在 ViewController2 中可用?我不需要指向它的强链接,只需要值。

你会推荐哪种方式?

非常感谢大家的回答。

最佳答案

从 viewController1 “跳转”到 viewController2 的一种常见方法是通过 Storyboard转场。这个 segue 可以通过多种方式执行:直接从 Storyboard(即从按钮)或通过代码,使用 UIViewController 中的 performSegueWithIdentifier 方法。

无论以哪种方式执行 segue,方法 prepareForSegue 都会在执行 segue 之前立即调用。在此方法中,您将获得对 segue 的目标 viewController 的引用,您可以在其中传递变量。

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if let viewController2 = segue.destinationViewController as ViewController2 {
// passing variable from vc1 to vc2
viewController2.result = self.result
}
}

关于xcode - 如何跨 View Controller 移动数据?以一种简单的 Swift-iOS8 方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26466381/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com