问题标签 [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 回答
1308 浏览

iphone - NSPredicate 在 NSFetchedResultsController 中表现得很奇怪

我觉得这应该很简单,但它的行为很奇怪。

我有 3 个实体,有这样的关系

实体 A <-->> 实体 B <<--> 实体 C

我有一个 NSFetchedResults 控制器,我正在尝试使用以下谓词过滤实体 A 的结果。

当我尝试运行该应用程序时,输出未显示任何结果。我可以将谓词稍微更改为:

它只向我显示我希望它过滤掉的结果。

为什么会这样?

0 投票
1 回答
2324 浏览

iphone - iPhone 开发 - 使用 NSPredicate 从 CoreData 检索最近添加的记录

我想从 CoreData 中检索最近添加的记录。我想知道这是否可以使用 NSPredicate?如果是这样,怎么做?

例如,我在部门和员工之间有一对多的关系,我想获取最近使用的员工记录。Staff 表有一个可以使用的日期字段。

我不想获取所有员工记录然后寻找正确的记录。请注意,CoreData 将相关记录存储在 NSSet 中。

0 投票
1 回答
1444 浏览

iphone - NSPredicates、范围和 SearchDisplayController

使用一些自定义对象和三个范围构建搜索:AllActiveFormer。让它使用以下代码:

这工作正常并考虑scope在内。由于我想一次搜索四个字段,所以这个问题帮助我想出了以下代码:

但是,它不再考虑范围。

我一直在玩弄if语句,在语句的末尾添加AND scope == 'Active'等,NSCompoundPredicates但无济于事。每当我激活一个范围时,我都没有得到任何匹配项。


请注意,我已经看到像这种考虑范围的方法,但是它们只在一个属性内搜索。

0 投票
1 回答
506 浏览

iphone - iPhone开发——使用CoreData查询相关记录

我有一个案例,我有三个具有一对多和一对多关系的实体:

我有实体 A 的引用,现在我想获取所有相关的实体 C 记录。我怎样才能做到这一点?(代码量最少)

编辑:这是另一种说法。

我们可以使用 CoreData 执行连接吗?例如,(这是一个非常粗略的例子),我们有以下实体关系:

所以,现在如果我有“阿尔伯特”祖父母,我想得到他所有的孙子,我该怎么做?

0 投票
1 回答
4269 浏览

iphone - 核心数据 ANY BETWEEN 谓词

我正在尝试创建一个 NSPredicate 来查找在某个日期范围内包含“会话”的“项目”。我一开始试过这个:

但我得到一个例外:

似乎 BETWEEN 不能以这种方式与 ANY 一起使用。我在使用 () 和 AND 子句方面也受到限制,这意味着我不能使用以下内容:

如果我尝试这样做,我会收到解析错误。当然,sessions.date 确实是一个集合,所以像这样对它进行与运算并没有多大意义。

我怎样才能做到这一点?

谢谢

更新:请注意:

不正确,因为它返回一个项目,其中一个会话大于开始日期,另一个会话小于结束日期,但两者之间没有会话。

0 投票
2 回答
3620 浏览

iphone - 为过滤器构建 NSPredicate

只是想知道如果某些过滤器是可选的,那么构建 NSPredicate 的最佳方法是什么?

这基本上是一个过滤器,所以如果没有选择某些选项,我不会按它们过滤

例如。如果我为过滤器设置了 option1 和 option2。

NSPredicate* predicate = [NSPredicate predicateWithFormat:@"option1 = %@ AND option2 = %@] ....

否则如果只是 option1 NSPredicate* predicate = [NSPredicate predicateWithFormat:@"option1 = %@] ....

关键是有 10 种不同的过滤选项,所以我不想为 10x10 可能的组合编码。

谢谢

0 投票
1 回答
164 浏览

core-data - 为 FetchedResults 集中的每个结果设置属性值

在我的核心数据实体“书”上,我有一个布尔属性“wasViewed”(NSNumber numberWithBool),它告诉我这本书是否被“查看”。

我想为我所有的 NSManagedObjects“书”实现一种“重置”这个属性。这样我就可以在会话之间将它们全部设置为 NO。我使用 NSPredicate 检索所有书籍,如下所示:

这工作得很好,但是,现在我需要设置一个循环,遍历每个 Book 对象,如下所示:

有没有办法对适合谓词的每个元素执行操作而不是检索它?因此,不是executeFetchRequestmanagedObjectContext它可能是 executeOperationOnFetchRequestResults或类似的东西。

感谢您提供的任何输入:)

0 投票
1 回答
1350 浏览

iphone - 核心数据和 NSDate

我读了这篇文章,但我并不真正理解代码......我有一个带有实体和一些属性的核心数据数据库。其中之一名为“myDate”,类型为 NSDate。现在我想显示每个日期,但消除具有相同日-月-年的日期并以升序显示。

你有想法吗?

非常感谢 !

0 投票
1 回答
403 浏览

iphone - 如何将 NSPredicate 分解成组件?

是否有任何常用方法将 [NSPredicate predicateWithFormat] 创建的表达式分解为对象 NSComprasionPredicate、NSExpression 和其他对象?

对于下面的示例需要拆卸成组件。

0 投票
3 回答
33632 浏览

iphone - NSPredicate 相当于 SQL 的 LIKE

我正在寻找一种方法来NSPredicate设置LIKE条件以获取对象。除此之外, anOR也很有用。我正在尝试做一些事情,如果用户搜索“James”,我可以编写一个NSPredicate相当于: