问题标签 [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 - 如何制作一个 NSFetchRequest 请求具有特定名字的对象?
例如,我有一个托管对象模型,其中包含一个名为“Friends”的实体,而一个朋友有一个名字。我想得到所有名字等于“乔治”的朋友。我怎样才能做到这一点?
iphone - iPhone,核心数据,有“自我”问题的谓词
在将 Person NSManagedObject 传递到下一个视图之前,我需要重新加载它。
这是因为我使用的 fetchedResultsController 只返回属性的一个子集,我需要在下一个视图中使用完整集。
到目前为止,我正在尝试类似:
现在,到目前为止,我似乎无法让谓词正常工作:
和
但这些似乎都不起作用。我在这里做错了什么?这是一个好方法吗?
提前感谢您的任何建议,马特
iphone - 谓词模板和准备好的语句一样吗?
例如,如果我有这个谓词格式字符串,它是否具有与 SQL 提供的预准备语句相同的安全优势?
我不确定这是否是一个简单的愚蠢替换,它仍然允许向核心数据注入错误的“SQL”,或者这是否与现代数据库技术中已知的准备好的语句一样好?
objective-c - 一个可以递归遍历对象图的 NSPredicate?
我正在尝试过滤本质上形成树形图的对象数组。我想要做的是从这个数组中过滤掉所有可见属性为NO的对象,或者如果它的父/祖父/等可见属性为真(子对象的可见属性可以是YES,而其父对象可以是NO)。
我不清楚我将如何使用 NSPredicate 语法来继续搜索父节点,直到没有父节点或找到可见属性。有什么办法可以解决这个问题吗?
iphone - 使用谓词调试 Core Data 托管对象
我的应用程序的数据模型有点复杂。我需要使用不同的谓词调试获取请求。
有什么快速的方法可以查看不同谓词的不同结果吗?我厌倦了只更改一个谓词,我必须重新开始我的导航应用程序,之前有近 10 个步骤。
我希望看到结果的这些谓词的一个示例:
在使用 Core Data 时,我看不到数据库及其值来执行一些 SELECT。
cocoa - 使用 AND 对多 NSPredicate 的核心数据
我正在尝试为 find-as-you-type 搜索栏编写查询。我想要做的是查询“Kind”,并返回任何具有 LocalName 的种类('name' LIKE %@ AND localeIdentifier == %@)。
如果我只搜索名称(因此忽略 localeIdentifier),我可以执行以下操作:
我想要的是更像
综上所述,搜索“Kind”,“localized”对多关系中的任何一项都应匹配名称和 localeIdentifier。
关于这个正确语法的任何想法?
objective-c - NSPredicate 作为约束求解器?
我正在开发一个项目,其中包含一些比我习惯的更复杂的界面元素动态布局。我总是觉得编写复杂的代码来检查某某是否接近某某,在这种情况下将其向某个方向移动 x% 等是愚蠢的。这不是编程应该做的方式。编程应该尽可能地声明性!
正是因为我要做的事情相当简单,所以我认为这将是一个尝试新事物的好机会,我想将其NSPredicate
用作一个简单的 约束求解器。到目前为止,我只用于NSPredicate
非常简单的任务,但我知道它的功能更多。
有什么想法、经验、例子、警告和见解在这里有用吗?
我将举一个非常简单的例子,所以会有一些具体的答案。我该如何NSPredicate
解决以下约束:
(“viewB 应该水平居中在坐标 300 上,除非它的左边缘在 viewB 右边缘的 20 像素范围内,在这种情况下,viewA 的左边缘应该固定在 viewB 右边缘右侧 20 像素处,并且 viewA 的水平中心被推到正确的。”)
viewA.rightEdge
并且viewB.width
可以变化,这些是“输入变量”。
编辑:任何解决方案都可能必须使用NSExpression
方法-(id)expressionValueWithObject:(id)object context:(NSMutableDictionary *)context
。
这个答案是相关的。
core-data - 从父实体获取核心数据实体
我正在尝试从我知道相关实体的值的核心数据中的实体中检索数据。
即:
Entity1
-attrib1.1
-attrib1.2
-relationship1
实体
2 -attrib2.1
-relationship1
Entity1 在relationship1 上与Entity2 有一对多关系。
我正在尝试获取 Entity2 的值,其中 Entity1.attrib1.1 = XXX。
我尝试使用 NSPredicate,但如果可能的话,我不确定如何在 predicateWithFormat 方法中编写语法。
如果这没有意义,对不起。如果需要,我会尝试清理。
我搜索了谷歌和这里,但没有找到任何东西。可能是我眼睛瞎了?;)
objective-c - 如何使用 NSPredicate 捕获子对象?
我是核心数据的新手,并尝试通过一个查询获取各种类型的所有子对象。假设有一个“动物”类型作为父母,“猫”、“狗”和“鸟”作为孩子。我想同时获得猫和狗,但不是作为 Animal 对象返回的单个查询中的 Birds。可能吗?
iphone - Core Data NSPredicate 过滤结果
我有一个包含 bID 和 pID 的 NSManagedObject。在 NSManagedObjects 集合中,我只希望返回一个子集,并且我正在努力寻找正确的 NSPredicate 或从 Core Data 中获取所需内容的方法。
这是我的完整清单:
出价 PID
41 0
42 41
43 0
44 0
47 41
48 0
49 0
50 43
上面有父子关系。
规则:
如果记录的 PID = 0,则表示该记录是父记录。如果记录的 PID != 0,则该记录的 PID 指的是它的父记录的 BID。
例子:
1) BID = 41 是父记录。为什么?因为记录 BID=42 和记录 BID=47 的 PID 为 41,这意味着它们是其 PID 记录的子项。
2) BID = 42 有一个 BID = 41
的父记录。 3) BID = 43 是一个父记录。
4) BID = 44 是父记录。
5) BID = 47 有一个 BID = 41 的父记录,因为它的 PID = 41。参见上面的#1。
6) BID = 48 是父记录。
7) BID = 49 是父记录。
8) BID = 50 是子记录,其父记录的 BID = 43。
看到图案了吗?
现在,基本上,我只想获取以下行:
出价 PID
44 0
47 41
48 0
49 0
50 43
BID = 41、BID = 48、BID = 49 都应该返回,因为没有 PID 等于它们的 BID 的记录。
应该返回 BID = 47,因为它是 PID = 41 的最新子代。
应该返回 BID = 50,因为它是 PID = 43 的最新子代。
希望这有助于更多地解释它。