gpt4 book ai didi

swift - 将数据传递给由外部事件触发的 ViewController

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

我已经为我的应用程序设置了一个 URL 方案,可以从网络浏览器打开它。当应用程序收到时,它会显示 AViewController

我还有一个包含一些数据的 ViewController,BViewController。理想情况下,如果 BViewController 在激活 URL 方案时打开,我希望能够将此数据从 BViewController 传递到 AViewController .

由于 URL 方案触发了 AppDelegate 中的一个函数,我没有机会将数据从 B 传递到 A

传递数据的最佳方式是什么?

到目前为止我能想到的唯一解决方案是:

  • 为每条数据设置和获取一个全局变量
  • AppDelegate 收到 URL scheme 调用时,通过访问对象属性从 B 中提取数据,并在 A 中设置它们

我对这些解决方案都不满意,当然不是第一个。

有没有更好的方法来解决这个问题?

提前致谢。

最佳答案

如果你有……

class Object {
var someData…
}

class BViewController {
var object: Object!

func updateObject() {
object.someData = …
}
}

class AViewController {
var object: Object!
}

然后在 AppDelegate 中,像这样(不是真正的代码!)...

func handleURL() {

if let b = rootViewController as? BViewController {
let a = AViewController()
a.object = b.object
rootViewController = a
}
}

关于swift - 将数据传递给由外部事件触发的 ViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50607495/

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