问题标签 [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.
iphone - iPhone SDK核心数据:获取所有具有零关系的实体?
我有一个包含书籍和作者的核心数据项目。在数据模型中,Authors 与 Books 是一对多的关系,Books 与 Authors 是一对一的关系。我正在尝试提取所有没有作者的书籍。无论我如何尝试,都不会返回任何结果。在我的谓词中,我也尝试过 = NIL,== nil,== NIL。任何建议,将不胜感激。
iphone - 带有子类 NSManagedObjects 的核心数据谓词
我有一个音频课。该音频有一个 SOUND_A 子类和一个 SOUND_B 子类。这一切都正确完成并且工作正常。
我有另一个模型,我们称之为 PLAYLIST_JOIN,它可以包含(在现实世界中)SOUND_A 和 SOUND_B,所以我们给它一个 AUDIO 和 PLAYLIST 的关系。
这一切都在应用程序中工作。
我现在遇到的问题是使用 NSPredicate 查询 PLAYLIST_JOIN 表。我想要做的是通过在谓词中给它2个键来找到一个精确的 PLAYLIST_JOIN 项目
和
主要问题是因为表不存储sound_a
andsound_b
而是存储audio
,我不能使用这种语法。我没有重新组织 sound_a 和 sound_b 以使用相同的 _id 属性名称的选项,那么我该怎么做呢?
我可以将方法传递给谓词吗?像这样的东西:
[audio getID] = %@ && playlist_id = %@
cocoa - 在应用 NSPredicate 时强制转换 NSDictionary 值?
我有一个 NSDictionary 对象数组。这些字典是从 JSON 文件中解析出来的。NSDictionary 中的所有值对象都是 NSString 类型,一个键称为“distanceInMeters”。
我曾计划使用 NSPredicate 过滤这些数组,所以我开始时是这样的:
如果“distanceInMeters”键的值是 NSNumber,我相信这会起作用,但是因为我从 JSON 文件中得到它,所以一切都是 NSStrings。上面给出了这个错误:****** -[NSCFNumber length]: unrecognized selector sent to instance 0x3936f00***
这是有道理的,因为我刚刚尝试将 NSString 视为 NSNumber。
有没有办法在过滤字典时从字典中转换值,或者可能有一种完全不同的方法来解决这个问题?
希望可以有人帮帮我 :)
iphone - 核心数据多对多关系 NSPredicate
我有一个具有多对多关系的数据模型,例如EntityA <-->> EntityB <<--> EntityC
. 我曾经使用EntityA
不同的搜索条件进行查询,并使用sNSCompoundPredicate
数组NSPredicate
。在我想EntityA
使用查询的谓词之一上EntityC
。我尝试使用以下内容SUBQUERY
,但没有奏效。
我得到了以下异常,
有什么我想念的吗。我将不胜感激任何帮助。
莎拉
iphone - 如何将 NSPredicate 用于 Key-Path 值
使用filteredArrayUsingPredicate: 对数组使用NSPredicate 是相当直接的。
这是如何为键路径值完成的?意思是,我有一个对象数组(在这种情况下,对象属于同一类型)。每个对象都有一个名为 name 的实例变量。根据文档,它说要执行以下操作:
那是在filteredArrayUsingPredicate 中使用的吗?如果我有一个 People 对象数组怎么办?这是否意味着我会使用:
该部门的文档有点缺乏。
是否也可以对单个 Person 对象使用谓词?诸如 Person.name 之类的东西包含 [cd] 'Foo'?那怎么做?
iphone - iPhone OS:使用 NSPredicate Nsfetchrequest 和核心数据获取随机实体实例
在我有大量托管对象的应用程序上工作,我想从中获取一些随机实例。
我的问题是,有什么方法可以使用 NSPredicate 和 NSFetchRequest 随机返回多个对象。
我看到您实际上可以使用数据建模器将 NSFetchRequest 添加到实体中,有什么方法可以使用它进行随机提取?
还有什么是确定表格“计数”的最佳方法,这样我就可以设置随机数生成器的界限。
如果您需要更多详细信息,请告诉我。
谢谢!
缺口
iphone - NSPredicate 中的字边界 (\b) 导致 NSFetchRequest 不返回托管对象
在 iPhone 上使用带有 sqlite 存储的 Core Data .... 我有一堆漫画书图像实体,每个实体都有一个包含漫画问题#的字符串,例如:image.imageTitle = @"Issue 12: Special Edition";
UI 的一部分允许用户输入问题编号以跳转到下一个问题。我的初始代码是 sloooooooow ,因为imageAtIndex:
一次查询 Core Data 中的一个对象。超过数百个问题,可能需要超过 40 秒才能完成第一个循环!
慢代码:
希望有一个更有效的解决方案,我决定尝试对 Core Data 进行直接查询,如下所示:
在Predicate Programming Guide和ICU regex specs之间,我认为 \b 有助于防止搜索 12 返回 120、121、122 等。相反,它根本不会从商店返回任何东西!
另一方面,如果我不使用边界一词并改为搜索stringWithFormat:@"%@",issueNumber
,我会返回几十个托管对象,从 12 到 129 到 412。
在这一点上,我最好的猜测是我遇到了 Core Data 的Constraints and Limitations之一。如果没有,我做错了什么?如果是这样,是否有一种解决方法可以同时提供精确匹配和单次获取的速度?
iphone - 将 2 个数组与 NSPredicate(可可)进行比较
我有一个带有 2 个属性的 NSObject
我有 2 个数组,其中包含实体的对象,我想将 nid 上的这两个与谓词进行比较
2个数组都有一个值为2的nid,所以我的输出应该但是
所以我可以生成一个只匹配 nid 的数组
iphone - AND NSPedicate 关于核心数据关系
我在将 NSPredicate 与 AND 复合时遇到问题,尽管使用 OR 效果很好。
想象 2 个实体,医生和患者。医生可以有很多病人,病人可以有很多医生。我想找到同时拥有 person1 和 person2 作为患者的医生。我希望这可以工作,但它没有返回。
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"任何患者匹配 'person1&&person2'"];
如果我将 && 更改为 ||,我会得到所有具有 person1 或 person2 的医生,正如我所期望的那样。
在此先感谢您的帮助。
iphone - 与现有核心数据实体不同
我正在使用 Core Data 来存储很多(1000 多个)项目。每个项目的一对属性用于确定唯一性,因此当有新项目进入时,我会在插入之前将其与现有项目进行比较。由于传入的数据是 RSS 提要的形式,经常有很多重复,并且唯一化步骤的成本是 O(N^2),这变得很重要。
现在,我在迭代(可能的)新项目列表之前创建了一组现有项目。我的理论是,在第一次迭代中,所有项目都会出错,并且假设我们没有被内存占用,大多数这些项目将在迭代过程中保持驻留。
因此,我看到了我的选择:
- 使用字符串比较进行唯一性,迭代所有“新”项目并与所有现有项目进行比较(当前方法)
- 使用谓词根据“新”项目的属性过滤现有项目集。
- 使用带有 Core Data 的谓词来确定每个“新”项目的唯一性(而不检索现有项目的集合)。
选项 3 可能比我目前的方法更快吗?你知道更好的方法吗?