如果 NSPredicate 失败,啥输出将返回 Fetch 请求

Posted

技术标签:

【中文标题】如果 NSPredicate 失败,啥输出将返回 Fetch 请求【英文标题】:What Output will Return the Fetch request if NSPredicate Should Fail如果 NSPredicate 失败,什么输出将返回 Fetch 请求 【发布时间】:2014-04-25 10:18:23 【问题描述】:

我有两个带有一些值的表。这两个表之间有一个一对一的关系。在我的第一个表中包含 70 个值,第二个表包含 20 个值。我根据条件创建了一个从第二个表中获取值的获取请求.这些条件是通过使用谓词设置的。我将请求执行的对象返回添加到一个数组中。在某些情况下,谓词将在这种情况下失败,获取请求将返回什么输出。我如何将所有数组对象与一个类实例。

【问题讨论】:

测试一下。显示您的代码。您希望如何将数组与实例进行比较?你的意思是检查数组是否包含实例? @Wain 我只是打印数组对象。当 nsspredicate 失败时,它会显示类似 ...( ) 的输出。我如何比较它? 【参考方案1】:

如果没有与谓词匹配,您将返回一个空数组(记录为())。如果 fetch / predicate 有问题,那么您将收到错误(或异常)。

您可以在数组上使用containsObject: 方法来检查特定实例是否在返回的对象列表中。

【讨论】:

我如何使用类实例campare()?ProductPricing *info 您永远无法将数组与ProductPricing 的实例进行比较(好吧,不是以有意义的方式),因此您使用[results containsObject:info] 它总是给出是..... ProductPricing *info = [_fetchedProductsDataPrice objectAtIndex:indexPath.row];..._fetchedProductsDataPrice 这是我的数组。我如何检查条件。 你的请求没有意义,如果你从结果数组中得到info,那么你就知道它在那里以及它是什么。你想“比较”什么? 我想根据数组返回的值来配置表格单元格。结果数组中的对象是带有一些键的字典。具有成功谓词条件的请求返回一个对象。如果结果变为空数组()我如何给出从字典中获取值的关键路径。所以我需要一个比较并为每个案例制作 if else 包含

以上是关于如果 NSPredicate 失败,啥输出将返回 Fetch 请求的主要内容,如果未能解决你的问题,请参考以下文章

swift - NSPREDICATE 失败 [重复]

NSPredicate 与 64 位整数?

将 NSPredicate/NSCompoundPredicate 与 Where 子句或可选返回一起使用,CloudKit

接口返回失败是啥意思

CloudKit,NSPredicate在私有容器中返回计数或确定是否存在任何记录?

system是啥意思?