gpt4 book ai didi

swift - 使用 Swift 3.0,我可以将数据传递给一个没有 segued 的 View Controller 吗?

转载 作者:行者123 更新时间:2023-11-28 15:19:11 26 4
gpt4 key购买 nike

我的程序中有 3 个 View Controller 。我可以在不使用 segue-ing 的情况下从第一个 View Controller 向第三个 View Controller 发送多个值吗?

还是我必须将值发送给第一个、第二个、然后第三个?

提前致谢。

最佳答案

您不应该像您描述的那样依赖直接传递值,因为您甚至不知道是否所有 Controller 都已实例化。创建一个模型类或结构,您可以将值存储在所有 3 个 Controller 中并从中引用。模型类的基本示例:

import Foundation

fileprivate let sharedModelInstance = Model()

class Model {
var basicString : String = "string"

static var sharedInstance : Model {
return sharedModelInstance
}

func setBasicString(_ str: String) {
basicString = string
}
}

然后是一个 Controller :

import UIKit

class ViewController : UIViewController {

override func viewDidLoad() {
super.viewDidLoad()

// reads 'string'
let aStr : String = Model.sharedInstance.basicString

Model.sharedInstance.setBasicString("Hello")

// Now 'Hello'
let anotherStr : String = Model.sharedInstance.basicString
}

}

通过这种方式,您的所有数据都是集中的,只要您始终引用您的模型,您就永远不会在 Controller 之间出现不同步的数据。

关于swift - 使用 Swift 3.0,我可以将数据传递给一个没有 segued 的 View Controller 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46310873/

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