0

Hi I am newbie to iOS programming,

I am building an iOS app to display a catalogue(Product name, Item No, Discription, and Image) of the products. After the user installs the app on the iOS device there may be updates happening to the product list. The user will not be able to modify any data in the database.

Can some one give me an idea of what kind Database i would require to use (SQL lite, Json or Coredata) and how i can let the update happen. Should I update just the new / modified records or update the complete database each time.

From some examples of apps i have seen from the appstore the app downloads the entire (latest version) of the database the first time the app is loaded.

Thanks in advance to all the friends out there in the community. your suggestions, codes, examples and any reference materials and links will be of great help.

Cheers!!

4

1 回答 1

2

几个想法:

  1. Apple 推荐的框架是 Core Data。尤其是如果您有大量数据,则可能值得熟悉它。

  2. 直接 SQLite 编程可以有其优势,但除非你有令人信服的理由去追求它(而且我在你的问题中没有看到任何暗示这一点),否则请坚持使用 Core Data。如果您决定使用 SQLite,请考虑使用 SQLite 的FMDB Objective-C 包装器。

  3. 如果您正在处理少量数据(例如,十几条记录),Core Data 可能是多余的,您可以只使用属性列表(plist)。例如,如果您已将 JSON 下载到NSArrayorNSDictionary中,那么您可以writeToFile保存它,dictionaryWithContentsOFFile或者arrayWithContentsOfFile在将来的某个日期读回它。

  4. JSON 通常被认为更像是一种与服务器交换数据的机制。我不会倾向于以 JSON 格式在本地存储数据(尽管你可以)。我会改用plist。

  5. 顺便说一句,通常不建议将图像本身存储在 CoreData/SQLite 数据库中。如果您有较大的文件,出于性能原因,我们通常将它们存储在 iOS文件系统中(并在数据库中保存一些对文件名的引用)。

  6. 您提到您已经看到下载整个(最新版本)数据库的应用程序。更复杂的实现(对大型数据库至关重要)将需要下载更新(编辑、删除、插入)而不是完整的数据库。对于小型数据库,如果您可以摆脱您提出的解决方案(而且它肯定会使它变得更容易),但是随着您的应用程序变得更加复杂,您将需要考虑更优雅的服务器集成。

于 2013-03-19T16:03:33.720 回答