3

我正在为一个博客构建一个应用程序,用户可以在其中保存他们最喜欢的帖子。

当他们这样做时,我想存储我的对象,其中包含:帖子的 URL、标题和图像 URL。

我应该去UserDefaults(以前NSUserDefaults)还是立即开始Core Data

4

2 回答 2

6

我应该选择 User Defaults 还是立即开始使用 Core Data?

这里有更多的可能性:你也可以使用普通文件或 plist,或者在没有 Core Data 的情况下使用 sqlite。答案取决于您计划存储的项目数量:

  • 如果您计划存储 1 到 20 个项目,用户默认设置可以正常工作
  • 如果您计划存储 20 到 200 个项目,则可以使用纯文件或 plist
  • 如果您计划存储 200 多个项目,请选择 Core Data 或 sqlite,具体取决于您对其中一种技术的舒适程度。
于 2013-01-01T02:53:55.250 回答
1

由于文章的收藏夹通常不会是 100K 项目,因此我将NSDictionary用于项目并将它们存储到 a 中NSMutableArray,然后将它们保存到文件中。它使用简单,您还可以将收藏夹导出到文件甚至iCloud在设备之间共享。

NSMutableDictionary *item = [[ NSMutableDictionary alloc]init];
[item setObject:@"www.google.com" forKey:@"url"];
[item setObject:@"Google" forKey:@"title"];

//Add each item to the Favourites array
//You should declare this outside of the "addToFavourites" function.
NSMutableArray *Favourites = [[NSMutableArray alloc]initWithObjects: nil];
[Favourites addObject:item];

//Save the Favourites NSMutableArray to the file.
if([Favourites writeToFile:path atomically:NO]) 
   NSLog(@"Favourites are saved!");
于 2013-01-01T03:03:12.173 回答