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

iphone - iPhone SDK核心数据:获取所有具有零关系的实体?

我有一个包含书籍和作者的核心数据项目。在数据模型中,Authors 与 Books 是一对多的关系,Books 与 Authors 是一对一的关系。我正在尝试提取所有没有作者的书籍。无论我如何尝试,都不会返回任何结果。在我的谓词中,我也尝试过 = NIL,== nil,== NIL。任何建议,将不胜感激。

0 投票
1 回答
512 浏览

iphone - 带有子类 NSManagedObjects 的核心数据谓词

我有一个音频课。该音频有一个 SOUND_A 子类和一个 SOUND_B 子类。这一切都正确完成并且工作正常。

我有另一个模型,我们称之为 PLAYLIST_JOIN,它可以包含(在现实世界中)SOUND_A 和 SOUND_B,所以我们给它一个 AUDIO 和 PLAYLIST 的关系。

这一切都在应用程序中工作。

我现在遇到的问题是使用 NSPredicate 查询 PLAYLIST_JOIN 表。我想要做的是通过在谓词中给它2个键来找到一个精确的 PLAYLIST_JOIN 项目

主要问题是因为表不存储sound_aandsound_b而是存储audio,我不能使用这种语法。我没有重新组织 sound_a 和 sound_b 以使用相同的 _id 属性名称的选项,那么我该怎么做呢?

我可以将方法传递给谓词吗?像这样的东西:

[audio getID] = %@ && playlist_id = %@

0 投票
2 回答
1159 浏览

cocoa - 在应用 NSPredicate 时强制转换 NSDictionary 值?

我有一个 NSDictionary 对象数组。这些字典是从 JSON 文件中解析出来的。NSDictionary 中的所有值对象都是 NSString 类型,一个键称为“distanceInMeters”。

我曾计划使用 NSPredicate 过滤这些数组,所以我开始时是这样的:

如果“distanceInMeters”键的值是 NSNumber,我相信这会起作用,但是因为我从 JSON 文件中得到它,所以一切都是 NSStrings。上面给出了这个错误:****** -[NSCFNumber length]: unrecognized selector sent to instance 0x3936f00***

这是有道理的,因为我刚刚尝试将 NSString 视为 NSNumber。

有没有办法在过滤字典时从字典中转换值,或者可能有一种完全不同的方法来解决这个问题?

希望可以有人帮帮我 :)

0 投票
1 回答
2874 浏览

iphone - 核心数据多对多关系 NSPredicate

我有一个具有多对多关系的数据模型,例如EntityA <-->> EntityB <<--> EntityC. 我曾经使用EntityA不同的搜索条件进行查询,并使用sNSCompoundPredicate数组NSPredicate。在我想EntityA使用查询的谓词之一上EntityC。我尝试使用以下内容SUBQUERY,但没有奏效。

我得到了以下异常,

有什么我想念的吗。我将不胜感激任何帮助。

莎拉

0 投票
1 回答
3130 浏览

iphone - 如何将 NSPredicate 用于 Key-Path 值

使用filteredArrayUsingPredicate: 对数组使用NSPredicate 是相当直接的。

这是如何为键路径值完成的?意思是,我有一个对象数组(在这种情况下,对象属于同一类型)。每个对象都有一个名为 name 的实例变量。根据文档,它说要执行以下操作:

那是在filteredArrayUsingPredicate 中使用的吗?如果我有一个 People 对象数组怎么办?这是否意味着我会使用:

该部门的文档有点缺乏。

是否也可以对单个 Person 对象使用谓词?诸如 Person.name 之类的东西包含 [cd] 'Foo'?那怎么做?

0 投票
5 回答
5149 浏览

iphone - iPhone OS:使用 NSPredicate Nsfetchrequest 和核心数据获取随机实体实例

在我有大量托管对象的应用程序上工作,我想从中获取一些随机实例。

我的问题是,有什么方法可以使用 NSPredicate 和 NSFetchRequest 随机返回多个对象。

我看到您实际上可以使用数据建模器将 NSFetchRequest 添加到实体中,有什么方法可以使用它进行随机提取?

还有什么是确定表格“计数”的最佳方法,这样我就可以设置随机数生成器的界限。

如果您需要更多详细信息,请告诉我。

谢谢!

缺口

0 投票
2 回答
820 浏览

iphone - NSPredicate 中的字边界 (\b) 导致 NSFetchRequest 不返回托管对象

在 iPhone 上使用带有 sqlite 存储的 Core Data .... 我有一堆漫画书图像实体,每个实体都有一个包含漫画问题#的字符串,例如:image.imageTitle = @"Issue 12: Special Edition";

UI 的一部分允许用户输入问题编号以跳转到下一个问题。我的初始代码是 sloooooooow ,因为imageAtIndex:一次查询 Core Data 中的一个对象。超过数百个问题,可能需要超过 40 秒才能完成第一个循环!

慢代码:

希望有一个更有效的解决方案,我决定尝试对 Core Data 进行直接查询,如下所示:

Predicate Programming GuideICU regex specs之间,我认为 \b 有助于防止搜索 12 返回 120、121、122 等。相反,它根本不会从商店返回任何东西!

另一方面,如果我不使用边界一词并改为搜索stringWithFormat:@"%@",issueNumber,我会返回几十个托管对象,从 12 到 129 到 412。

在这一点上,我最好的猜测是我遇到了 Core Data 的Constraints and Limitations之一。如果没有,我做错了什么?如果是这样,是否有一种解决方法可以同时提供精确匹配单次获取的速度?

0 投票
1 回答
743 浏览

iphone - 将 2 个数组与 NSPredicate(可可)进行比较

我有一个带有 2 个属性的 NSObject

我有 2 个数组,其中包含实体的对象,我想将 nid 上的这两个与谓词进行比较

2个数组都有一个值为2的nid,所以我的输出应该但是

所以我可以生成一个只匹配 nid 的数组

0 投票
1 回答
117 浏览

iphone - AND NSPedicate 关于核心数据关系

我在将 NSPredicate 与 AND 复合时遇到问题,尽管使用 OR 效果很好。

想象 2 个实体,医生和患者。医生可以有很多病人,病人可以有很多医生。我想找到同时拥有 person1 和 person2 作为患者的医生。我希望这可以工作,但它没有返回。

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"任何患者匹配 'person1&&person2'"];

如果我将 && 更改为 ||,我会得到所有具有 person1 或 person2 的医生,正如我所期望的那样。

在此先感谢您的帮助。

0 投票
3 回答
528 浏览

iphone - 与现有核心数据实体不同

我正在使用 Core Data 来存储很多(1000 多个)项目。每个项目的一对属性用于确定唯一性,因此当有新项目进入时,我会在插入之前将其与现有项目进行比较。由于传入的数据是 RSS 提要的形式,经常有很多重复,并且唯一化步骤的成本是 O(N^2),这变得很重要。

现在,我在迭代(可能的)新项目列表之前创建了一组现有项目。我的理论是,在第一次迭代中,所有项目都会出错,并且假设我们没有被内存占用,大多数这些项目将在迭代过程中保持驻留。

因此,我看到了我的选择:

  1. 使用字符串比较进行唯一性,迭代所有“新”项目并与所有现有项目进行比较(当前方法)
  2. 使用谓词根据“新”项目的属性过滤现有项目集。
  3. 使用带有 Core Data 的谓词来确定每个“新”项目的唯一性(而不检索现有项目的集合)。

选项 3 可能比我目前的方法更快吗?你知道更好的方法吗?