gpt4 book ai didi

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

转载 作者:IT王子 更新时间:2023-10-29 08:01:07 25 4
gpt4 key购买 nike

我曾多次尝试使用获取的属性,虽然这似乎是正确的方法,但它从未有效。

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

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

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

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

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

最佳答案

这是我的相关代码(包括您已经提到的部分):

我的示例有一个“Card”对象,它与“Stats”对象具有 1->many 关系。每个“统计”对象都有一个“结果”,可以是 1-4。我获取的属性很简单,可以为我的“Card”对象提供一个“Stats”对象数组,这些对象仅包含“outcome”=1。

我想使用获取的属性,以便我可以轻松获取具有超过一定数量和种类的“统计”对象的“卡片”对象。

因此,在“Card”对象中,我放置了获取的属性“statsOfTypeOne”,并将 Destination 设置为“Stats”。

在我放置的这个获取的属性的谓词中

(SELF.outcome=1) AND (SELF.card=$FETCH_SOURCE)

'SELF' 是 'stats' 记录,$FETCH_SOURCE 在执行时神奇地变成了 'Card' 对象。

正如您所做的,我将以下内容放入“Card”对象的 .h 和 .m 文件中:

@property (nonatomic, retain) NSArray *statsOfTypeOne;
@dynamic statsOfTypeOne;

然后在我的代码中我使用了:

[self.managedObjectContext refreshObject:cardInstance mergeChanges:YES];
[cardInstance valueForKey:@"statsOfTypeOne"]

获取数组(尽管 cardInstance.statsOfTypeOne 应该没问题)。如果没有刷新对象,它就不会更新 Fetched 属性(根据手册)。

认为这就是我为让它发挥作用所做的一切。让我知道它是否适合您。

彼得

关于iphone - 有没有人有核心数据中获取属性的工作示例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7341853/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com