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

objective-c - 使用 NSPredicate 和 Core Data 建立深层关系

我有一个 NSArrayController,companiesController绑定到顶级核心数据实体,Companies.

ACompany有很多Department,aDepartment有很多Employee;这些由一对多关系表示,departments并且employees.

基于salaryan 的属性,Employee我认为我可以动态地执行此操作,以便在 UI 调用的方法中根据薪水进行过滤:

唉,这给了我错误:-[NSCFSet compare:]: unrecognized selector sent to instance.

0 投票
2 回答
453 浏览

cocoa - NSPredicateEditor,忽略没有搜索词的行?

我马上说我是一个没有经验的 Cocoa 程序员,如果我的问题在文档中以某种方式得到了回答,而我只是错过了它,或者我不明白 NSPredicateEditor 的工作原理,我深表歉意。但是,我确实尝试在文档中搜索并使用 Google 搜索,但收效甚微。因此,我向您提出这个问题。

我正在尝试使用 NSPredicateEditor 过滤基于核心数据的表视图。通过创建 NSCompoundPredicate,过滤工作正常,就基于各种标准的行过滤而言。但是,当谓词编辑器中的一行在其搜索字段中没有文本时,返回的 NSPredicate 类似于

...不匹配任何核心数据记录——不是我想要的。如果该行中的搜索字段为空白,则基本上我根本不希望它过滤我的数据集。

那么我的问题是,忽略谓词的这些部分的最简单/最佳解决方案是什么?我最初的想法是逐行解析 NSPredicateEditor 值(NSPredicate *)predicateForRow:(NSInteger)row并自己重建谓词,忽略试图匹配的行"",但这似乎不必要地麻烦。将最终的 NSCompoundPredicate 拆开- (NSArray *)subpredicates并以这种方式进行编辑似乎也可能是我采取了错误的策略。有没有更优雅的方法来做到这一点?

*为了清楚起见,我正在考虑编辑谓词的副本,然后将其传递给我的表格视图的控制器,而不是实际编辑当前存储在 NSPredicateEditor 中的初始谓词。

0 投票
1 回答
1285 浏览

cocoa - 可可 iphone 核心数据谓词一对多 fetchrequest

我有一组数据,其中一个属性(固件)是一对多关系。

如果我想获取固件 id 为 1 的任何记录,我可以使用创建谓词

然后我有另一组条件可以使用

如何将它们组合或设置,以便首先过滤固件,然后过滤第二个条件?最终,我想要 Firmware.FID=1 和 TopLevel==YES 和 Parent>0 的所有记录。

谢谢,豪伊

0 投票
2 回答
5517 浏览

iphone - 将 NSPredicate 与核心数据 NSFetchedResultsController 一起使用

我有一个 fetchedResultsController 已返回我的实体“帐户”的所有记录。

我想快速搜索所有 Account 记录中的属性“lastName”== 值,并返回 Account 对象,或者至少返回 fetchedResultsController 中对象的 indexPath。应该只返回 1 个对象。

除了遍历每个 objectAtIndexPath 之外,还有没有更好的方法来使用 NSPredicate 搜索 fetchController?

0 投票
1 回答
670 浏览

cocoa - Fetch Predicate 的 NSDate 常量

我正在使用 IB 中的 Fetch Predicate 来过滤我们从 Core Data 返回的默认结果,我实际上正在寻找这样的一些:

日期创建 < 昨天

其中“YESTERDAY”应该是昨天的 nsdate 常量,所以我的所有结果返回都在昨天之前。

这没有用。并且一些搜索没有出现与此相关的任何内容,所以我想知道我想在这里做什么是可能的。

0 投票
1 回答
1932 浏览

iphone - NSFetchedResultController 和 UISearchBar 实现

我正在使用我的 iPhone 的核心数据创建一个简单的基于导航的应用程序,并且我正在尝试实现一些搜索。该应用程序基于 Apple 的“基于导航的应用程序”模板。NSFetchedResultsController 获取所有对象,它们将显示在表格视图中。我还留下了加号按钮来添加新对象。好吧,我已经实现了一个 UISearchBar 和一个 UISearchDisplayController,两者都在同一个中。搜索使用相同的 NSFetchedResultsController 过滤对象。NSPredicate 将在 UISearchDisplayController Delegate 方法中设置,但似乎尚未设置谓词,因为 fetchedResultsController 没有过滤任何内容。这是我的第一个问题。现在,如果我按下搜索栏的取消按钮并想通过按下加号按钮插入一个新对象,它不会去。不会插入任何对象,应用程序不会崩溃,它什么也不会发生。

我必须在一个视图中使用两个不同的 NSFetchedResultsController 吗?如果是,这并不能解决未设置 NSPredicate 的问题。我已经感谢你的帮助。

0 投票
1 回答
3922 浏览

iphone - Objective-C:NSPredicate LIKE 不喜欢空格。是否有用于替换空格的转义序列?

我有一个看起来像这样的 NSPredicate:

我将它应用于具有“同义词”属性的类的对象的 NSArray。

当 searchText 是一个完整的单词(例如“Thanks”)时,它可以正常工作。但是,如果我尝试使用带有空格的字符串,例如“谢谢”,则会失败,并且谓词搜索在数组中找不到匹配项。

有没有办法让 NSPredicate 使用其中有空格的单词?

谢谢。

0 投票
1 回答
981 浏览

iphone - NSPredicate 聚合 IN 语句不起作用

我有点像 CoreData 菜鸟,但我正在慢慢理解它。我在使用以下代码时遇到问题:

我的 Artiste 托管对象有一个 ArtisteId 的 NSNumber 字段,我已经遍历了我的对象上下文中的所有 Artistes,并且肯定有 id 为 1-420 的对象。

但是我的辅助方法总是返回一个带有该查询的空结果集

有什么建议么?

为了测试它是否有效,我使用了以下内容并获得了 3 个结果

0 投票
1 回答
5275 浏览

iphone-sdk-3.0 - 使用 filtersArrayUsingPredicate 总是为 Core Data 获取的对象返回一个空数组

我正在尝试使用 NSArray 的 filteredArrayUsingPredicate: 方法来过滤核心数据托管对象数组。这是一个大纲:

这总是返回一个空的“filteredArray”?我猜这是我的谓词,但我知道“数组”中的对象是托管对象,其键名为“名称”。'searchString' 的值没问题,我之前运行过 performFetch:。

0 投票
1 回答
1803 浏览

iphone - 如何在 Coredata 中设置 NSPredicate 和 NSEntityDescription 来进行复杂的 SQL 查询

我知道如何创建 NSPredicate 来执行类似 sql 的操作"SELECT * FROM DRINK"。但是这个查询怎么样:

我如何为这种查询设置 NSEntityDescription 和 NSPredicate?