在iOS上存储对象 – 最佳解决scheme?

我正在构build一个博客的应用程序,用户可以保存他们最喜欢的职位。

当他们这样做,我想存储我的对象,其中包含:post的url,标题和图片的url。

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

我应该去用户默认或立即开始与核心数据?

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

  • 如果你打算存储1到20个项目,用户默认会正常工作
  • 如果您打算存储20到200个项目,纯文件或plists将工作
  • 如果您打算存储200多个项目,请使用Core Data或sqlite,具体取决于您使用这些技术的舒适程度。

由于文章的最爱通常不会是100K项目,那么我会使用NSDictionary的项目,并将其存储到一个NSMutableArray ,然后将其保存到一个文件。 使用起来非常简单,您还可以将collections夹导出到文件甚至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!");