gpt4 book ai didi

ios - 如何在不直接由 segues 连接的 View Controller 之间共享数据

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:58:30 26 4
gpt4 key购买 nike

enter image description here

将用户在此处表示为 1 的 View Controller 的文本字段中输入的数据发送到 View Controller 2 的最佳策略是什么?这两个 View 没有直接连接到 segues。

是否应该使用委托(delegate)来处理?如果是这样,哪个对象将是委托(delegate),哪个对象将被委派?

是否可以通过在对象 1 中保留对对象 2 的引用并调用从 1 到 2 接受数据的方法来实现从 1 到 2 的数据发送?事实上,我试过了并且有效。但这是在 View Controller 之间共享数据的正确方法吗?

或者,是否可以在主 AppDelegate 中放置一个数据源?如果是,如何?

最佳答案

简短的回答是“视情况而定”。

是的,您可以让 View Controller 1 维护一个指向 View Controller 2 的指针,并设置一个协议(protocol)来传递信息。但是,在 View Controller 1 收集信息时, View Controller 2 可能不存在。或者您可能不希望 View Controller 1 必须了解 View Controller 2。

我可能会设置一个应用程序范围的数据容器单例。 (如果您不熟悉它,请在 SO 或 Google 上搜索 Objective C 中的单例设计模式。)然后为您想要全局化的信息设置属性。您可以非常轻松地向数据容器对象添加持久性,然后您就有了一个用于整个应用程序状态数据的中央存储库。

关于ios - 如何在不直接由 segues 连接的 View Controller 之间共享数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21317735/

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