【发布时间】:2015-10-19 08:52:09
【问题描述】:
我对使用 Swift 进行开发还很陌生,我似乎在为其中一个关键概念而苦恼。
我希望在不同的 UIViewController 之间传递数据,让它们都可以访问和操作它。
例如,在我的应用程序中,我创建了一个包含项目数组的简单数据存储类。我希望所有 ViewController 都可以访问这个数组。
我在 AppDelegate 中初始化存储:
var itemStore = ItemStore()
然后我创建第一个 UIViewController 并传入 store 以便它可以访问它:
FirstViewController(itemStore: ItemStore)
为此,我需要对 FirstViewController 的 init 进行更改,以便它能够接受 itemStore 作为参数。
然后我想将该数据传递给 SecondViewController,然后再传递给 ThirdDataController。
我似乎没有必要编辑每个 UIViewController 类,以便它接受 itemStore 作为参数。
我在这里有什么选择?有些人告诉我将数据存储为 AppDelegate 的属性,以便所有人都可以访问它。但是,这似乎不是正确的做法。
有什么建议吗?
【问题讨论】: