问题标签 [nspredicate]

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 投票
1 回答
1387 浏览

cocoa - 如何编写 Core Data 谓词来过滤特定的子实体类型?

我有一个名为 FObject 的超实体,它有几个子实体,比如 Foo1、Foo2 和 Foo3。我有许多 tableviews 应该显示有关子实体的不同集合的信息,例如,一个只显示 Foo2s 和 Foo3s 而另一个显示所有这些。

鉴于我在 FObject 上获取,我如何编写谓词来过滤子实体类型?

我尝试了“entity.name IN %@”并提供了实体名称列表,但没有奏效。

或者我应该只过滤返回的结果?

或者我应该添加一个对类型进行编码的属性并使用“type IN %@”?

0 投票
1 回答
5909 浏览

iphone - Iphone NSPredicate 如何进行 INNER JOIN?

我一直在查看该站点中的文档和其他一些帖子,但我根本无法理解如何解决这个问题,这在 SQL 中实际上非常简单。

基本上我有 2 个实体工具和交易。并且“交易”使用“工具”来执行所需的操作。现在我想列出用于此交易的交易属性和工具属性。所以在 SQL 中我会这样做:

SELECT * FROM Instruments INNER JOIN Deals ON Instruments.ID = Deals.InstrumentID

我将如何使用 NSPredicate 完成此操作?任何帮助将不胜感激。谢谢你。

-奥斯卡

0 投票
2 回答
1236 浏览

cocoa - 在 NSTableView 中显示来自 NSArray 的数据

我有一个问题,我认为有一个非常简单的解决方案,但我无法理解它!

我有这段代码:

这将返回数组中的指定数据。我现在想在 NSTableView 中显示这些数据。

我该怎么做呢?

谢谢!

0 投票
1 回答
114 浏览

cocoa - KVC 按条件选择

我有一组从核心数据中选择的对象。我需要从与条件相对应的对象集中选择。怎么做?

0 投票
2 回答
6026 浏览

iphone - 您可以使用 NSPredicate 指定“从...中选择唯一名称”吗?

我有一些数据存储在核心数据中,看起来像:

| 姓名 | 标识符 | 其他东西 |

我需要在 UITableView 中显示名称,但我只想显示具有唯一名称标识符对的名称。因此对于:

我只希望查询返回 John, Betty。诸如“从表中选择唯一名称,标识符”之类的东西。

使用 NSPredicate 有什么方法可以做到这一点,还是我需要将重复数据删除的字段倒入另一个容器中,然后搜索?

0 投票
2 回答
1540 浏览

iphone-sdk-3.0 - 具有最新谓词的 CoreData 获取请求

我有一个Entity“事件”,其中包含一个NSDate名为“AccidentDate”的属性。我正在尝试执行获取请求以仅获取最近的“AccidentDate”,但我不确定如何设置谓词以仅获取最后一个“AccidentDate”

以下是我到目前为止的代码...

任何帮助将不胜感激。谢谢

0 投票
9 回答
83980 浏览

objective-c - NSPredicate:按 NSDate 属性的日期过滤对象

我有一个带有NSDate属性的核心数据模型。我想按天过滤数据库。我认为解决方案将涉及一个NSPredicate,但我不确定如何将它们放在一起。

我知道如何使用and比较两个NSDates的日期,但是如何用 an 过滤它?NSDateComponentsNSCalendarNSPredicate

也许我需要在我的NSManagedObject子类上创建一个类别,该类别可以返回仅包含年、月和日的裸日期。然后我可以在NSPredicate. 这是您的建议,还是有更简单的方法?

0 投票
4 回答
4232 浏览

iphone - 使用 .@count 谓词进行简单提取需要很长时间(~30 秒)

我有 2 个实体,A 和 B,它们具有多对多关系。

A 实体有大约 10,000 个对象,B 有大约 20 个对象。

基本上,A 对象可以与一个或多个 B 对象相关,并且 B 对象会跟踪它们所连接的 A 对象。这是通过反向关系设置完成的。

我只是希望返回与 A 对象无关的每个 B 对象。我正在使用的获取是这样的:

但是,获取执行需要很长时间,大约。30秒。这个我不明白,因为虽然有大量的A对象,但是这个fetch跟他们无关,只需要检查20个B对象。

如果我注释掉谓词以使 fetch 返回所有 B 对象,那么 fetch 非常快,正如您所期望的仅获取 20 个对象。因此,该谓词似乎涉及一些 A 对象并导致它花费很长时间!

任何人都可以解释为什么这需要这么长时间吗?

编辑:

我有 SQL 调试信息,输出如下:

我应该补充一点,实体 A 和实体 B 都继承(具有父级)一个通用 TableViewObject 实体,该实体拥有两者之间的通用值(例如表视图部分名称和排序名称等)。希望这可以帮助!

0 投票
2 回答
5628 浏览

iphone - 有什么更好的方法来构建具有多个深层关系的 NSPredicate?

我有三个实体:EntityA、EntityB 和 EntityC,它们与多对多关系相连。

有关详细信息,请参见架构:

替代文字 http://img706.imageshack.us/img706/9974/screenshot20091220at124.png

为了获取依赖于 EntityB.name 的 EntityA 的所有实例,我使用如下谓词:

获取依赖于 EntityC.name 的所有 EntityA 实例的谓词应该是什么?我试过查询,@"ANY EntityB.entitiesC.name like 'SomeName'"但得到异常"multiple to-many keys not allowed here"

最好的祝福,

胜利者

0 投票
4 回答
5533 浏览

cocoa - 对数组中的字符串不区分大小写的NSPredicate?

我有一种情况,我想通过用户名键从我的核心数据存储中获取对象,但我希望比较不区分大小写。我的谓词是这样的:

然后,我使用一组字符串进行变量替换,这些字符串是我要查找的用户名。它有效,但区分大小写。我想做这样的事情,我想:

不幸的是,这似乎不起作用。字符串比较必须仍然以区分大小写的方式进行。(我没有收到关于它是不受支持的查询的错误。)

有没有不同的方法来编写这个谓词,所以它可以按照我需要的方式工作,或者我只是在这里遗漏了一些明显的东西?