使用Core Data或SQLite或其他东西导入Web服务?

时间:2014-11-18 14:55:11

标签: ios objective-c swift core-data

我正在创建一个活动应用,需要从JSON网络服务中提取数据,以获取有关艺术家和正在播放的节目的信息。数据将用于在一个视图上显示艺术家(a到z)的排列,按日期和时间在另一个视图上显示艺术家,按位置显示艺术家,并在第三个视图上按日期/时间排序。我们还允许用户在他们的日程安排中添加节目。

JSON数据类似于:

艺术家提供:

[
{
"artists": {
    "3": {
        "id": "3",
        "title": "Kendrick Lamar",
        "subtitle": null,
        "imageURL":
"//goevent-images.s3.amazonaws.com/.../web/artist_3_20140331112744_d57b5a70.jpg",
                "gcInfo": "artist$kendrick-lamar/3",
"shows": [ {
                        "id": 153,
                        "venueTitle": "Sapporo scene",
                        "formattedDate": "Sunday, August 31",
                        "date": "2014-08-31",
      "title": "Kendrick Lamar"
                    }
                ],
                "tags": ",8,159,164,",
                "color": "#00a0a0",
                "dates": [
                    "2014-08-31"
                ]
},... },
]

显示Feed:

[
{

"items": {
        "197": {
                "id": 197,
                "title": "Arcade Fire",
                "type": "artist",
                "dateStart": "2014-08-30",
                "timeStart": "16:00:00",
                "formattedTimeStart": " 4:00 PM",
                "gcInfo": "artist$arcade-fire/127",
                "venueId": "1",
                "tags": ",80,",
                "color": "#337FC3"
}
}
]

节目和艺术家将有多对多的关系。我还需要创建一个实体/表来存储将添加到他们个人日程中的用户节目。

乐队/节目确实可以从Feed中删除,所以我想我可能需要清除艺术家并在导入之前显示实体/表格。我担心这会打破与用户预定节目的关系。

我还需要尽可能早地下载尽可能多的高级数据,以便也可以脱机使用该应用程序。

所以我的问题是: 为此导入和存储数据的最佳方法是什么?

1 个答案:

答案 0 :(得分:1)

“最好”是主观的。据我了解,Core Data使用了SQLite,所以它更适合您所熟悉的内容。

您之前使用过Core Data吗?如果是这样,请使用它。

您以前使用过SQL数据库吗?如果是这样,请使用SQLite。

如果您从第一个开始,我想我推荐Core Data。

以下是一些可以帮助您入门的链接:

    Apple的
  1. Data Management in iOS
  2. 来自Apple的
  3. Core Data Programming Guide
  4. Core Data Tutorial for iOS: Getting Started
  5. How to Use SQLite to Manage Data in iOS Apps
  6. SQLite Tutorial for iOS: Creating and Scripting