Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/109.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 重用来自服务器的api响应以供以后使用_Objective C_Ios - Fatal编程技术网

Objective c 重用来自服务器的api响应以供以后使用

Objective c 重用来自服务器的api响应以供以后使用,objective-c,ios,Objective C,Ios,我有一个twitter帐户用户列表。当用户单击任何特定用户时,我调用twitter api从服务器收集所有推文,并将其存储在NSArray中。假设我有1000条tweets,我不想一次又一次地调用api,那么有没有最好的方法来存储这些tweets,以便下次当同一个用户单击时,tweets直接显示,而不需要api调用。我想要不使用数据库的解决方案。如果您只需要数据的启动会话生存期(即关闭应用程序-数据丢失),而不想使用数据库(不知道为什么,使用核心数据确实更容易,甚至使用内存存储-快速方便),您可

我有一个twitter帐户用户列表。当用户单击任何特定用户时,我调用twitter api从服务器收集所有推文,并将其存储在NSArray中。假设我有1000条tweets,我不想一次又一次地调用api,那么有没有最好的方法来存储这些tweets,以便下次当同一个用户单击时,tweets直接显示,而不需要api调用。我想要不使用数据库的解决方案。

如果您只需要数据的启动会话生存期(即关闭应用程序-数据丢失),而不想使用数据库(不知道为什么,使用核心数据确实更容易,甚至使用内存存储-快速方便),您可以创建一个单例类来存储列表。这可能是一个带有键的字典——用户id、值——带有tweet的数组

user_id -> [tweet1, tweet2]
您向它请求用户id的tweets,它返回array或nil


我建议你使用核心数据。使用核心数据,您可以轻松切换到文件存储(SQLite或文件)或内存存储。它处理引擎盖下的所有东西。但无论如何,这取决于你。

谢谢MANIAK_dobrii。但是如果我使用Diciary或singleton类,在应用程序运行之前需要一个内存。那么,您希望如何保存数据以避免使用数据库呢?当然你会需要,我相信核心数据是最好的解决方案。我在所有的实时应用程序中都使用它(是的,它们都需要良好的数据存储),而且效果很好。请注意,苹果公司的人已经花了很多时间为我们优化东西,所以请看一看。好的,谢谢,我将尝试使用核心数据。但是我们可以用NSCache做那件事吗?不确定,但是,这里应该有人知道。