我有一部分数据只能读取一次。我在那里有 ivars,想将它们存储在某个地方以便从我的控制器访问。我应该把它放在哪里?在这种情况下,我宁愿避免子类化。我的读者应该从其他类传递数据,而其他类可能是某些东西的父类。我对吗?
所以我的问题是:我的应用程序启动后我有一些数据,我必须把它放在哪里?
我有一部分数据只能读取一次。我在那里有 ivars,想将它们存储在某个地方以便从我的控制器访问。我应该把它放在哪里?在这种情况下,我宁愿避免子类化。我的读者应该从其他类传递数据,而其他类可能是某些东西的父类。我对吗?
所以我的问题是:我的应用程序启动后我有一些数据,我必须把它放在哪里?
在您的 appDelegate 中设置一个数组,然后从任何地方:
MyAppDelegateClass *appDelegate = [[UIApplication sharedApplication] delegate];
[appDelegate someMethod:..];
@SimpleMan:- 你有哪种类型的数据?文字、图片、视频?
我认为您有文本数据吗?对于文本数据,您也可以使用 plist.. 或 Sqlite 数据库。你要哪个。在这种情况下,数据将被永久存储。如果您想临时存储数据,即一次(仅在应用程序运行期间存在),您可以将数据存储在变量中。
在您的情况下,当您的应用程序启动时,您正在从服务器获取数据,对吗?那么您应该将该数据存储在应用程序委托文件中。即 AppDelegate.m 文件。
并在您想访问的地方使用。如果您有任何疑问,请回复我。
如其他答案中所述,您可以将其存储在您的 appDelegate 中。如果数据不多,那么我个人认为将其存储在 appDelegate 中没有任何问题。
(我认为有些人可能会过于拘泥于“正确”或“错误”的做事方式——如果这是一个小应用程序,并且没有其他人会和你一起开发这个应用程序,那么只要做简单的事您的应用程序和您的用户不会受到影响)。
如果它有很多数据,或者如果将来你可能想显着扩展这些数据,我会避免这样做。在这种情况下,最好创建一个单独的单例模型类来存储数据。