你能不能给我一个例子来解释将数据存储在从webservice收到的coredata中的过程。我不想使用sqlite DB。也许是一个展示这种例子的链接。
答案 0 :(得分:4)
特别是没有任何与Web服务相关的特殊技巧。从服务获取数据后,您将创建Core Data类的实例,然后使用数据填充它们,就像使用来自任何其他源(如UI)的数据一样。
例如,大多数JSON实现提供的返回数据是字典。您只需将核心数据对象中的属性设置为字典中的相应值即可。
如果您不熟悉如何设置和使用核心数据,您应该先了解它。
编辑:
来自评论:
好的,好的。所以我明白如何分配一个 文件的位置(如果是) 文件夹。但在这种情况下我 我从网络服务获取数据 这是以一种形式收到的 响应。我在这种情况下做什么? 将无法分配位置 商店
数据源与商店文件的位置之间没有任何关联。在正常情况下,您将不会连接到Web服务器上的Core Data托管商店(可能但很少见。)而是来自服务器的数据是标准格式,如JSON,REST等。您的应用程序将创建本地存储(无论您决定放置它)并初始化Core Data堆栈。然后它将获取JSON解析器的输出并创建NSManagedObjects来表示数据。然后它将这些对象保存到商店,就像将数据形成任何其他来源一样。
因此,在伪代码中它看起来像:
Core Data{
Create local persistent store in desired location;
Create managed object context;
Load managed object model:
}
Network Inteface {
Connect to Server;
Send request;
Parse request into objective-C data structure (array, dictionary, etc)
}
Load Data strucutre into Core Data{
Either {
Insert into context NSManageObject for entity that models recieved data
or
Insert into context instance of NSManagedObject subclass that models the recieved data
}
Set attributes of entity/instance to the appriopiate fields in the recieved data structure.
Save managed object context (which saves the entity/instance to the file on disk)
}
我认为你认为这是一个比它更复杂和更复杂的过程。它基本上与将数据从服务器保存到本地文本文件没有什么不同。唯一的区别是您要保存到Core Data堆栈。