问题标签 [nscompoundpredicate]
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.
objective-c - NSCompoundPredicate
我正在尝试UITableView's
使用UISearchDisplayController
and过滤数据NSCompoundPredicate
。我有一个带有 3 的自定义单元格UILabels
,我想在搜索中全部过滤,因此NSCompoundPredicate
.
但是,当我这样做时,编译器会警告我:
使用“NSPredicate *”类型的表达式初始化“NSCompoundPredicate *_strong”的不兼容指针类型
我在网上看到的每个例子都做同样的事情,所以我很困惑。该NSCompoundPredicate orPredicateWithSubpredicates:
方法采用(NSArray *)
最后一个参数,所以我真的很困惑。
怎么了?
ios - NSCompoundPredicate 混合 AND 和 OR
我已经开始使用NSCompoundPredicate
来组合我的谓词,但是有一个问题。
这是一个谓词的示例:
Aircraft
是 的子类NSManagedObject
。这个谓词很好用,我只是遍历一些Aircraft
对象,并将每个对象添加到谓词中,所以如果飞机 1 或飞机 2 或等...
我为几个属性执行此操作,代码与上面相同,但为不同的关系创建谓词等。基本上,用户可以过滤他们看到的数据,例如哪架飞机。
无论如何,一旦我为每一个都建立了一个谓词,我就会像这样组合它们:
这一次,AND
用来组合它们。但是,使用此谓词根本不会过滤我的数据。他们单独工作,但在最后一行中没有一次组合在一起。任何想法为什么?这就是我需要解决的问题。
我有一种预感,会不会是它在创造这个:aircraft1 OR aircraft2 OR ... AND ... pilot1 OR pilot2 OR...
通常您需要在每个位周围加上括号,例如在飞机和飞行员周围将它们分开,但复合材料不这样做吗?
实际上我得到的是:
我需要什么(我认为):
无论如何,有什么想法吗?谢谢。
编辑:
predicateFinal
记录为:TRUEPREDICATE
。不多,但显然是 TRUEPREDICATE:一个总是评估为 TRUE 的谓词,并且是一个谓词布尔值。天知道为什么要退回那个?!想必返回 true 就是为什么 fetch 结果没有视觉变化?当返回时没有变化,所有对象都被获取。
编辑2:
现在真正的进步。我已经解决了battery
对象作为 NSSet 对多关系的一部分但执行ANY battery
. 但它揭示了下一个问题(可能是一直以来的问题)。
nspredicate - How can I get NSManagedObject from NSExpression?
I have this predicate:
How can I restore NSManagedObject from comparisonPredicate.rightExpression.constantValue
core-data - 如何在 nsFetchRequest 中创建通过不同实体的两个参数过滤的复合谓词
我的数据模型的一些背景信息:
我目前通过 fetchrequest 生成项目列表:
这会生成所有项目的列表。我想过滤与特定制造商有关系的项目。所以我在所有项目的列表之后添加了一个谓词,它按 selectedManufacturer 排序。
这可行,但会抓取很多将被过滤掉的项目。对于大型数据集,我假设它会变得越来越慢,因为它会搜索所有项目,而不仅仅是与一个制造商相关的项目。我想过滤初始“rankingRequestForItem”方法中的项目。
是否可以将上面的谓词与顶部谓词一起移动并创建一个复合谓词?
core-data - 在 Swift 中从数组值构建 NSCompoundPredicate
项目清单
所以我试图在 Swift 中设置一个具有多个条件的请求。SQL 等价于:
我有一个字符串数组,我正在尝试遍历每个字符串以创建一个 subPredicate,将其添加到 CompoundPredicate,然后使用该 CompoundPredicate 创建一个获取请求:
但是,它在 var subPredicate 行失败..
谢谢!
ios - 复合谓词不返回结果
我被这个问题困扰了一段时间,现在我似乎想不出一种方法来解决这个问题。我会尽量解释清楚。
我的核心数据模型中有 3 个实体。工作场所、患者和移交。
一个Workplace可以有多个Patient。一个Patient也可以属于多个Workplace。
患者可以进行一次切换,反之亦然。
在应用程序中,向用户显示工作场所列表。当用户选择一个工作场所时,我需要获取一组患者,这些患者属于该所选工作场所并且今天有交接。由于患者可以有多个移交,因此患者的记录可能重复,这没关系。
这就是我现在正在做的事情。首先,我检索所选用户的 Workplace 对象。然后我遍历它的患者并提取患者对象的 ID 并将它们收集到一个数组中。然后我传递患者 ID 数组和日期以过滤掉在给定日期有移交的患者。
这是des过滤的方法。
和方法转换对象getStartDate()
并获取其开始时间和结束时间以获取日期框架。我让它们在其他一些地方使用过,它们可以工作。这是关于它的详细解释。getEndDate()
NSDate
无论如何,我的loadHandovers()
方法返回 0 个结果。不可能,因为当我插入数据时,我可以看到今天的移交。下面是从核心数据执行的 SQL 查询。
谁能告诉我我的谓词是否有问题?或者如果有不同的方法可以完全解决这个问题?我真的很感激。
谢谢你。
ios - NSCompoundPredicate error in Xcode 6.1
Back in Xcode 6, in a project using Core Data I had the following line. It worked fine.
predicate and datePredicate are of NSPredicate
type.
Yesterday I updated to Xcode 6.1 and now this above line gives this error Could not find member 'AndPredicateType'. Specifying the entire value like this NSCompoundPredicateType.AndPredicateType
didn't work either.
Then I changed the line to use its convenience method line below.
Now I get a new error Cannot convert the expression's type '()' to type 'NSPredicate?'. I don't understand why. The documentation doesn't show any deprecations or changes to NSCompoundPredicate
either.
Can anyone please tell me how to correct this?
Thank you.
swift - NSCompoundPredicate 和 Cloudkit
我正在尝试使用 Cloudkit 使用复合谓词来执行此操作,但 Xcode 错误显示“意外表达式”。有人知道我的代码有什么问题吗?感谢任何帮助!
ios - 获取多对多关系包含所有术语的实体
我有一个带有 Verse 实体的模型,该模型与 Word 实体具有多对多关系。
我想找到包含用户正在搜索的所有单词的经文。
我猜它可以用一个谓词来完成
这可以使用某种类型的 word-> Verse 索引,以避免将每节经文的单词与 term1 进行比较吗?
如果不是,应该如何更改(模型或)谓词以使此获取更有效?
ios - NSCompoundPredicate 构造
假设我在数组中有这个谓词feedDays
数组:
我需要用这个statusPredicates
数组与它:
如何将这些组合到一个查询中?我假设我必须使用 NSCompoundPredicate 但我不知道如何将它与两个谓词数组结合在一起。