开始使用Core Data

Mos*_*she 11 iphone core-data concept ios

我无法理解Core Data在概念和代码方面的工作原理.

我知道有一个协调员和一个上下文.我也知道有国家管理.他们如何一起工作?

我不明白如何将图像和一些字符串存储为对象.

假设我想稍后检索图像和字符串.我该怎么办?

我在哪里保存我的州?怎么样?

我的代码是什么样的?我真的很感激这里的一个简单的代码示例,因为我真的很困惑.

ACB*_*urk 25

这些是我发现的一些最好的教程:

至于你的问题:

我知道有一个协调员和一个上下文.我也知道有国家管理.他们如何一起工作?

持久性存储协调器管理您的数据实际存储的位置,即SQLlite DB或XML文件或其他.协调器是抽象的,因此您不必担心后端的存储类型.

托管对象上下文是您与持久性存储协调器交互的方式.把它想象成你的便笺簿.您可以从托管对象上下文创建和修改托管对象.

我不明白如何将图像和一些字符串存储为对象.假设我想稍后检索图像和字符串.我该怎么办?

如果您查看上面的一些教程,您将看到如何从托管对象上下文中提取对象.NSString只是作为字符串属性存储在托管对象上,如下所示:

[managedObject setValue:@"TestString" forKey:@"SomeStringProperty"];
Run Code Online (Sandbox Code Playgroud)

我对图像不太确定,因为我之前从未在Core Data中存储过图像.我知道任何可以序列化的东西都可以存储为可转换的属性.这是一篇关于在核心数据中存储UIImages的帖子

我在哪里保存我的州?怎么样?

您只需在托管对象上下文中调用"save"方法即可.像这样:

[context save:&error]
Run Code Online (Sandbox Code Playgroud)

  • 您可以将NSData对象存储在Core Data中,以便保存图像,获取它的数据(可能使用UIImagePNGRepresentation())并存储它.要检索图像,从Core Data获取NSData对象,然后使用UIImage的+ imageWithData方法获取UIImage. (2认同)