我的应用程序上有一项功能,允许用户邀请他们的朋友(通过Facebook或他们的地址簿中的朋友)。大多数人都会< 5K的朋友有一些人有更多(可能最多10K的朋友?)。
我想跟踪他们邀请的朋友,以便他们不会重新邀请他们。为了做到这一点,我在NSUserDefaults
保存了一个朋友的词典来存储这些信息。我想知道NSUserDefaults
是否足以满足这一要求,或者我是否需要使用Core Data
。
此外,我计划添加一项功能,允许他们邀请朋友参加特定活动。 (我们的应用程序上有很多活动。)如果我想跟踪哪些朋友被邀请参加哪个活动,那么我应该使用Core Data
吗? NSUserDefaults
会满足吗? (我假设不会)。最后,应该使用Core Data
还是应该保存服务器端?
答案 0 :(得分:16)
NSUserDefaults
实际上是用于存储小块数据,例如设置,首选项和单个值。
您应该使用Core Data存储大量元素。至于您的上一个问题,没有什么能阻止您同时使用Core Data和后端来存储数据。事实上,有一些框架可以促进这一点。看看RestKit。
答案 1 :(得分:1)
您的假设是正确的! NSUserDefaults
不足以存储和查询大量数据。如果您有后端(服务器上的数据库)来存储事件及其被邀请者保持用户信息的一致性(如果用户从其他应用程序支持人员登录到您的应用程序),则建议这样做然后,他将获得他存储的所有信息。还可以使用您可以轻松查询所需信息的方式在数据库中创建表。对于每个事件,都有一些字段存储/更新其邀请信息。如果您想知道您的单个查询应该包含您所有需要的结果。这会让您的应用对您的应用运行得非常快的用户产生非常好的效果。
答案 2 :(得分:0)
您打算在字典中保存什么?如果它只是s字符串那么它没关系,但如果你打算存储图像,我会推荐Core Data。