- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
将用户在此处表示为 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/
我是一名优秀的程序员,十分优秀!