问题标签 [fetched-property]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
8 回答
39800 浏览

iphone - 如何对核心数据获取的属性进行排序

核心数据文档指出:

与 [fetched] 属性关联的获取请求可以具有排序顺序,因此可以对获取的属性进行排序。

如何在 Xcode 的数据模型编辑器中为 fetched 属性指定排序描述符?我在任何地方都找不到相关领域。我正在为 iPhone 平台开发,如果这有什么不同的话。

如果通过图形模型编辑器无法做到这一点,我该如何修改代码中 fetched 属性的 fetch 请求,使其具有排序描述符?

0 投票
1 回答
495 浏览

iphone - 获取的属性是静态的而不是动态更新自身是什么意思?

Apple 在 NSFetchedPropertyDescription 类参考中说:

但是请注意,与播放列表不同,获取的属性是静态的——它不会随着目标实体中的对象的变化而动态更新自身。

很好,但这到底是什么意思:静态属性?不在目标实体更改中动态更新?

有人可以解释一下吗?

我想到的是一个获取的属性是用于弱引用的。喜欢:播放列表可能引用歌曲,但播放列表并不“拥有”它们。如果播放列表被删除,则歌曲永远不会因此而被删除。此外,歌曲没有对播放列表的反向引用,他们甚至不必知道它存在。

好的,所以如果一首歌被删除,播放列表不会以任何方式通知?或者苹果想告诉我什么?

0 投票
1 回答
1392 浏览

cocoa - 在 XCode 数据模型编辑器中获取最小值的属性

如何在 XCode 的数据模型编辑器中添加一个 Fetched 属性以获得一个属性的最小值?

我的模型:

型号 http://www.freeimagehosting.net/uploads/b48853070e.png

我希望 Item 有一个名为 minPrice 的提取属性,它的值是在 storedItems 中为价格设置的最小值。

例子:

我在目的地放了什么?存储项目?

在数据模型编辑器中获取的属性 http://www.freeimagehosting.net/uploads/2a68de007d.png

我在表达中放了什么?

数据模型编辑器中的表达式 http://www.freeimagehosting.net/uploads/766ab9af6f.png

0 投票
1 回答
2701 浏览

iphone - 如何确保从上下文而不是缓存中获取 Core Data Fetched Property?

我有一个包含 2 个实体的托管对象模型。

其中一个实体(我们称之为EA)通过引用第二个实体(称之为EB)的子集中的一些属性来计算它的属性。

EA中,我设置了一个带有谓词的“Fetched Property”,该谓词返回我需要的EB对象的子集。

当我删除、插入EB对象或更改EB对象时,我使用通知来确保EA保持最新。因此,例如在“保存”之后,EA对象将重新计算其属性。

我的问题是,当我访问 Fetched 属性(我EB模型类中使用)[self valueForKey:FetchedPropertyKeyName]时,它似乎只是提取缓存的版本。换句话说,第一次很好,但是当我添加另一个EA对象时,当我访问获取的属性时,我没有在返回的数组中看到它。这在我删除一个对象时最为明显,因为该对象不再存在而导致崩溃。

Fetched Properties 的文档说:

如果目标实体中的对象发生更改,您必须重新评估获取的属性以确保它是最新的。您使用 refreshObject:mergeChanges: 手动刷新属性——这会导致在下次触发对象故障时再次执行与该属性关联的获取请求。

对不起,如果这听起来是一个愚蠢的问题,但不幸的是我没有看到我应该在哪里打电话refreshObject:mergeChanges:??

0 投票
1 回答
499 浏览

iphone - 核心数据:使用连接表获取的属性

我有一个与服务有多对多关系的主机。该关系是通过一个连接表“hostServices”。我想通过“获取的属性”获取与主机相关的服务。但是我如何定义谓词?

我现在做了类似 'ANY hostServices.host.name == "$FETCH_SOURCE.name"' 的操作,并且我尝试了 'ANY hostServices.host == "$FETCH_SOURCE"'。

但这没有用。有谁知道我如何获取服务?

提前致谢!

我的数据模型

0 投票
2 回答
2709 浏览

objective-c - 如何以编程方式创建 NSFetchedPropertyDescription?

NSManagedObjectModel我有一个使用 Xcode GUI 创建的预先存在的文件。我想创建一个 Xcode 3.2 的 GUI 不支持的排序获取属性。我在创建我之前完成所有这些,因为我知道在对象图管理器开始使用它之后NSPersistentStoreCoordinator你不能修改它。NSManagedObjectModel我因此创建了NSFetchedPropertyDescription

当我打电话

我得到以下异常:

0 投票
2 回答
1342 浏览

core-data - 核心数据获取属性和 NSFetchedResultsController

我在核心数据编程指南中读到了这个:

在许多情况下,您的初始 fetch 检索对象图中的起始节点,此后您不执行 fetch 请求,您只需遵循关系。

如果一切都链接到一个对象,这是有道理的。

但是,假设我有这个对象模型和关系

Company (one to many) Team (one to many) Employee (one to one) Role

假设我在开始时使用 fetch 请求加载我的公司。然后我可以访问一组团队,并且在每个团队中我都有一组员工。

(这都是假设,但我的应用程序遵循相同的模型)

我想加载一个列出所有具有“开发人员”角色的员工的 UITableView,并且我想使用 NSFetchedResultsController 来执行此操作。

我想在 Company 上创建一个返回所有“开发人员”的获取属性。这很容易。

如何将此获取的属性链接到 NSFetchedResultsController ?

0 投票
2 回答
858 浏览

core-data - 存储的 NSFetchRequest 返回错误“获取请求必须具有实体”

我在数据模型中向我的实体添加了一个获取的属性。我没有添加它的谓词。我使用 fetchRequestTemplateForName 检索它,但是在执行它时出现此错误“executeFetchRequest:错误:获取请求必须有一个实体。”

但是我怎么会得到这个错误。这不是我实体的财产吗?

于是我进一步调试问题,发现是因为检索到的 NSFetchRequest == nil

[[self managedObjectModel] fetchRequestTemplateForName:@"somename"];

那么我该如何解决呢?

谢谢!

0 投票
1 回答
282 浏览

cocoa-touch - 平均作为获取的属性?

我不确定我是否正确理解了 Fetched Properties,所以请告诉我我是否走错了路,应该做其他事情。

我有一个小演示应用程序,其中有正在审查的书籍。Review 实体具有 Int16 从 1 到 5 和时间戳的 score 属性,并且 Book 实体通过 isReviewed 属性具有零对多评论(bookInReview 作为其逆属性)。

我想在过去 30 天的平均评论分数上制作一个获取的属性。我可以在 Xcode 4 的模型中使用获取的属性来执行此操作吗?如果是这样,怎么做?我可以尝试将 Destination 设置为 Review 并将谓词设置为 @avg(score) 以从所有评论开始,但这似乎不正确。

干杯

尼克

0 投票
3 回答
18832 浏览

iphone - 有没有人有核心数据中获取属性的工作示例?

我曾尝试使用 fetched 属性几次,虽然这似乎是正确的方法,但它从来没有奏效。

在我最近的尝试中,我将 fetched-property 添加到我的实体中,选择模型中的另一个实体作为“目标”,并将谓词设置为我知道有效的条件。

问题 1:当实体的 NSManagedObject 类生成时,它不包含任何获取属性的内容。经过一番搜索,我在 .h 文件中添加了它的声明,并在 .m 文件中添加了它的 @dynamic 语句(是的,我知道它是一个 NSArray * 类型)。

问题 2:即使在那之后,当我在代码中访问此属性时,我会抛出一个异常,该异常表明 fetch-request 没有实体。我假设“实体”将是指定为“目的地”的实体,实际上它就在那里。

因此,我希望有人提供一个具体的工作示例(iOS 平台),其中在模型中定义了获取的属性,在 NSManagedObject 派生类中声明,并实际从代码中使用。

在这一点上,我放弃了这种浪费时间的方法,而只是自己实现了获取请求代码。