问题标签 [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 投票
0 回答
279 浏览

core-data - 具有递归标准或递归 Fetched 属性的 NSFetchRequest

在基于 sqlite 的核心数据存储中,我有 2 个实体:Item 和 Tag。

Item 与 Tag 有多对多的关系。标记还具有一个父标记的递归关系。因此标签形成一棵树。

现在我想创建一个 NSPredicate 来获取在标准标签列表中具有所有标签的所有项目。

现在的问题是,如果该项目没有标准列表的标签,而是标签树中低于标准标签的标签,则也应该满足标准。

我可以扩展标准列表以包括所有后代。但这会使列表爆炸成巨大的树,因为树很大。

一种理论上的解决方案是标签“祖先”中的获取属性,它是“与 parent.ancestors 自我连接的”。但我不知道如何制定这个。而且我什至认为不可能遍历 Fetched Properties 中的关系,对吧?

出于性能原因,我想避免以编程方式获取所有项目和过滤。

有任何想法吗?

谢谢,马可

0 投票
1 回答
148 浏览

core-data - 将核心数据属性加载到文本字段

我无法找到将保存的核心数据加载到文本字段的正确方法。我有一个带有静态单元格的视图,每个单元格都有多个文本字段,没什么特别的,这个想法只是填充文本字段并点击保存按钮,每次用户进入此视图时,文本字段都会显示最后一个估算的文本。

在保存部分之前一切正常,问题是切换到另一个视图然后返回时,文本字段未填充。我知道我必须使用视图加载和获取数据,但我不知道我做错了什么:

0 投票
1 回答
758 浏览

ios - 核心数据是否会延迟刷新数据模型?

我遇到了一个问题,即当我尝试修改它时,核心数据在我的谓词中没有看到任何变化。我花了很多时间试图找出为什么我获取的属性没有向我显示正确的结果(请参见下面的代码),最后在又一次喝咖啡休息后,我看到(突然!)我获取的属性开始正常工作。更新数据模型是否有一些延迟?还是我应该更频繁地休息?

这是我的模型。

0 投票
0 回答
275 浏览

core-data - CoreData 获取的属性和 RestKit 0.20.3:未定义键的值

我在获取属性方面面临一个大问题。

我在模型中有这个实体:

这样我可以在需要的时候获取相关的EntityInfo:

由于解析过程中的性能原因,我更喜欢这种方法而不是配置常规关系。

如果我使用 Apple 生成的 CoreData 样板来设置堆栈,一切正常,我可以成功使用 fetched 属性。但是,如果我使用 RKManagedObjectStore 类提供的 RestKit 实现,则 fetched 属性不起作用。这是错误:

由于未捕获的异常“NSUnknownKeyException”而终止应用程序,原因:“[<_NSObjectID_48_15 0x1a2f9ac0> valueForUndefinedKey:]:此类与键 idd_info 的键值编码不兼容。”

似乎 $FETCH_SOURCE 解析为 NSObjectID 而不是 NSObject 本身。而且,显然,idd_info 属性没有在该类上定义。

谷歌搜索我发现了将 fetchRequest 上的 resultType 设置为 NSManagedObjectResultType 的可能性。这是 Apple 文档中所述的默认行为。那么为什么 RestKit 0.20.3 改用 NSManagedObjectIDResultType 呢?使用 RestKit 0.10 一切正常...

这是一个已知的错误吗?如何将获取的属性强制为 NSManagedObjectResultType ?

这是我使用 RKManagedObjectStore 设置持久存储和创建托管对象上下文的方式。我在应用程序委托中,_managedObjectModel _managedObjectStore _managedObjectContext 是整个应用程序中使用的单例变量)。

谢谢你。

更新 1:

如果我使用:

代替:

在启动时的应用程序委托中,该问题不会发生并且获取的属性工作正常,但它仍然在映射期间发生。

这就是我设置映射的方式。

更新 2:

这是映射期间的堆栈跟踪。请注意,我在使用 getter 中获取的属性的对象上有一个瞬态属性,RestKit 调用此 getter 并发生崩溃:

0 投票
0 回答
584 浏览

core-data - iOS 7 CoreData - FetchedProperty 返回错误数组

也许有人可以告诉我我是否走对了。

我有两个实体:

使用以下属性进行 练习:标题 - 字符串练习 ID - 整数

添加了具有以下属性的 Exercise : count - intadded_exercise_id - int

AdditionalExercise 有一个名为link_exercise的提取属性,目标为:Exercise 和谓词:exercise_id == $FETCH_SOURCE.added_exercise_id

在我的代码中,我执行以下操作:

日志说:

() 的关系错误,名称 link_exercise,isOptional 1,isTransient 1,实体 AdditionalExercise,renamingIdentifier link_exercise,验证谓词 (),警告 (),versionHashModifier (null) userInfo {},fetchRequest(实体:练习;谓词:(exercise_id == $FETCH_SOURCE.added_exercise_id); sortDescriptors: ((null)); type: NSManagedObjectResultType; ) 在 0x1700d8b80

所以似乎有什么东西存在,以故障为代表。但如果我尝试访问“link_exercise”数组。例如: e.link_exercise.counte.link_exercise.lastObject

我会收到以下错误:

'NSUnknownKeyException',原因:'[<_NSCoreDataTaggedObjectID 0xd000000000040002> valueForUndefinedKey:]:此类与键 added_exercise_id 的键值编码不兼容。

也许有人知道如何解决这个问题。

提前谢谢了。

SR

----->更新1:

我现在将谓词更改为: SELF.exercise_id=exercise_id

现在我可以访问练习对象,但我得到了错误的 ID,因为

SELF.exercise_id=exercise_id应该看起来像SELF.exercise_id= added_exercise_id

使用谓词SELF.exercise_id= added_exercise_id我得到以下错误:

'NSInvalidArgumentException',原因:'无法为谓词(exercise_id == added_exercise_id)生成 SQL(RHS 上的问题)'

----->更新2:

仍然无法弄清楚为什么它不起作用......

对我来说似乎

应该是正确的谓词,但它不起作用。也许其他人有一些建议......?

或者我应该自己创建一个获取请求(以编程方式)?这意味着为所有“Exercise”设置一个获取请求,并在exercise_id = added_exercise_id 处返回一个。这基本上就是我目前试图通过获取的属性来解决的问题。

-----> 更新 3: 好的,我几乎拥有它!我忘了提到的一件事是,我使用了一个多 managedObjectContext 核心数据堆栈(包括一个 worker-,main-master-context)

我所有的请求都转到工作上下文(在这种情况下,获取的正确内容不起作用)但是如果我的所有请求都转到主上下文,则获取的属性按预期工作!

所以它似乎只适用于具有持久存储的 managedObjectContext 。

有人可以解释一下,为什么这不能与其他 managedObjectContext 一起使用?

0 投票
0 回答
231 浏览

ios - 核心数据 - 使用位掩码和抽象实体获取的属性

核心数据编辑器显示情况

(重命名数据模型以保持匿名性。:D)

所以,我有一种情况,在一个事物上,它的配置是由它自己的特殊对象定义的,尽管该对象可以是 2 类类型之一。

我希望能够通过询问事物的配置是否属于某个已知的子类来在此模型上执行获取请求,如果是,它的位掩码中是否设置了一些特定的标志。如果这是真的,我将其定义为“不特别”。因此,如果它还有其他类型的子类作为它的配置,它也是“不特殊的”。

我的问题是:

  • 我的语法正确吗?(在我的应用程序中,我遇到了错误)
  • 为什么要返回一个 NSArray?(我认为它遍历单个对象上的一对一关系。因此我将如何解释这个 NSArray?)

我应该补充一点,我或多或少只通过 MagicalRecord 了解 Core Data。我也使用 mogenerator。

0 投票
0 回答
183 浏览

ios - 在核心数据获取属性中使用日期

在使用 Core Data 的 xCode 项目中,我得到了两个实体:Article 和 ArticleMarket。它们是一对多的关系,一篇文章有​​ n 个文章市场。

我必须检索所有尊重这一点的文章NSPredicate

如果 Article 具有像关系这样的“市场”集合字段,这将起作用。问题是该字段是一个Fetched Property:我无法建立关系,因为我必须将每个 ArticleMarket 链接到相应的文章,并且我有成千上万的文章。

因此,该谓词适用于关系,但不适用于提取的属性。它给了我这个错误:

我坚持这一点:我可以将该谓词直接放入 Fetched 属性谓词中吗?结果是这样的:

好的,我放什么而不是 / TODAY / ?

在此先感谢,我很抱歉英语不好,希望问题很清楚!

0 投票
1 回答
310 浏览

ios - CoreData 获取的属性引用了不同的实体

我有一个名为 CoreData 的实体List,它与 Entity 有关系Address。这是一个一对多的关系,因为Address只能是一个List

Address实体有一个属性flag,它是一个Integer 16.

有没有办法让我Fetched PropertyList实体中定义 a 并计算所有相关Address实体的数量,这些实体的数量flag设置为 1?谓词会是什么样子?

谢谢

0 投票
4 回答
99 浏览

objective-c - CoreData 实体获取请求

我有一个名为的实体TimeInterval,其唯一属性是 astartDatefinishDate,它们的类型是 Date。我显然不需要添加另一个名为的属性,totalTime因为可以通过以下方式计算:[finishDate timeIntervalSinceDate: startDate]

我可以为属性创建一个获取的属性totalTime吗?如果不是,那么最好的方法是什么,而不必添加 totalTime 作为属性,因为这似乎是多余的。

顺便说一句,我是 Core-Data 的新手。

0 投票
0 回答
202 浏览

swift - How to structure a Core Data object model whose class has many calculated properties?

Using Swift 4

Problem:

I have a core data object graph for a soccer league with two entities: Team and Games, related with a one to many relationship (each Team can have many Games). Each game has two statistics: "goals for", and "goals against". I would like to calculate wins, losses, ties, and points scored game (which is an average). It would be a simple matter to calculate the values each time they are needed, but in a large data structure that accesses these values frequently, I want to know if there is a method that calculates the values only once each time the data changes.

Thanks