Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
获取的属性与关系(核心数据-iPhone)_Iphone_Objective C_Core Data_Lazy Loading - Fatal编程技术网

获取的属性与关系(核心数据-iPhone)

获取的属性与关系(核心数据-iPhone),iphone,objective-c,core-data,lazy-loading,Iphone,Objective C,Core Data,Lazy Loading,我是一名新的iPhone开发者(大约4个月左右),开始关注核心数据 在Dave Mark的《开始iPhone 3开发》一书中,它提到了获取属性和关系之间的主要区别是获取属性允许延迟加载。然而,我在这个网站上看到了其他资源并接受了答案,这表明关系确实允许延迟加载 例如,如果我有一个与Employee具有对多关系的Department对象,那么我不希望对给定的Department进行提取,从而将所有关联的Employee加载到内存中 对于这一点以及其他差异,我将非常感谢您的权威性回答,因为这对任何设

我是一名新的iPhone开发者(大约4个月左右),开始关注核心数据

在Dave Mark的《开始iPhone 3开发》一书中,它提到了获取属性和关系之间的主要区别是获取属性允许延迟加载。然而,我在这个网站上看到了其他资源并接受了答案,这表明关系确实允许延迟加载

例如,如果我有一个与Employee具有对多关系的Department对象,那么我不希望对给定的Department进行提取,从而将所有关联的Employee加载到内存中

对于这一点以及其他差异,我将非常感谢您的权威性回答,因为这对任何设计都有明显的影响

此外,如果有人能为我提供一个合理的核心数据资源,这是一个清晰且对初学者友好的指南,我将不胜感激(我以前是一名Java开发人员,但我对iPhone方式不熟悉…

请查看核心数据:

使用faults,如果从持久性存储检索单个Employee对象,则其manager、department和reports关系最初由faults表示。虽然fault是department类的实例,但尚未实现,尚未设置其持久性实例变量

如果您向Department对象发送一条消息以获取(比如)其名称,则会触发故障,在这种情况下,Core Data会执行一次获取操作,以检索对象的所有属性。

从“Core Data Programming Guide”(核心数据编程指南)中,获取的属性表示“弱的单向关系”。它们只允许您使用fetch谓词定义属性的值,而不是像关系一样直接对其建模


一个主要区别是,获取的属性不像直接关系那样是活动的或动态的。当对象图中发生会影响获取的属性值的更改时,必须通过手动刷新包含获取的属性的对象来显式保持获取的属性的最新状态。

我强烈建议,作者:Marcus Zarra。几个月前我就开始学习了,虽然假设你有一些Objective-C的经验,但对初学者来说也是相当容易的。

那么现在这意味着什么呢?正常的关系不能指出错误??我不理解你的问题。他不理解你的答案。我不理解这些评论。好的,所以你必须每年调用playlist对象上的fetching方法来获取所有歌曲;当一首歌曲被删除时,播放列表不知道它,直到名为“songs”的“fetched属性”再次被重新获取并返回较少的歌曲?这有意义吗?