【发布时间】:2011-03-22 08:07:58
【问题描述】:
我无法理解 Core Data 在概念上和代码方面的工作原理。
我知道有一个协调器和一个上下文。我也知道有状态管理。它们如何协同工作?
我不明白如何将图像和一些字符串存储为对象。
假设我想稍后检索图像和字符串。我该怎么办?
我在哪里保存我的状态?怎么样?
我的代码是什么样的?我真的很感激这里有一个简单的代码示例,因为我真的很困惑。
【问题讨论】:
标签: iphone core-data ios concept
我无法理解 Core Data 在概念上和代码方面的工作原理。
我知道有一个协调器和一个上下文。我也知道有状态管理。它们如何协同工作?
我不明白如何将图像和一些字符串存储为对象。
假设我想稍后检索图像和字符串。我该怎么办?
我在哪里保存我的状态?怎么样?
我的代码是什么样的?我真的很感激这里有一个简单的代码示例,因为我真的很困惑。
【问题讨论】:
标签: iphone core-data ios concept
这些是我发现的一些最好的教程:
至于你的问题:
我知道有一个协调员和 一个上下文。我也知道有 状态管理。它们是如何工作的 在一起吗?
持久存储协调器负责管理您的数据实际存储的位置,无论是 SQLlite DB 还是 XML 文件等等。协调器是抽象的,因此您不必担心后端的存储类型。
托管对象上下文是您与持久存储协调器交互的方式。把它想象成你的便签本。您可以从托管对象上下文创建和修改托管对象。
我不明白如何将图像和一些字符串存储为对象。 假设我想稍后检索图像和字符串。我该怎么办?
如果您浏览了上面的一些教程,您将了解如何将对象从托管对象上下文中拉出。 NSString 将简单地存储为托管对象上的字符串属性,如下所示:
[managedObject setValue:@"TestString" forKey:@"SomeStringProperty"];
我不太确定图像,因为我以前从未在 Core Data 中存储过图像。我知道任何可以序列化的东西都可以存储为可转换的属性。 Here's a post about storing UIImages in Core Data
我在哪里保存我的状态?怎么样?
您只需在托管对象上下文中调用“保存”方法。像这样:
[context save:&error]
【讨论】:
通过 Apple 的Core Data tutorial。
【讨论】:
Apple 提供了 tons 中的 documentation 和 source code 来帮助您入门。
【讨论】: