Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios ';NSInvalidArgumentException';,原因:';不支持的谓词(null)和#x27;_Ios_Objective C_Core Data_Aggregate_Nspredicate - Fatal编程技术网

Ios ';NSInvalidArgumentException';,原因:';不支持的谓词(null)和#x27;

Ios ';NSInvalidArgumentException';,原因:';不支持的谓词(null)和#x27;,ios,objective-c,core-data,aggregate,nspredicate,Ios,Objective C,Core Data,Aggregate,Nspredicate,我在尝试实例化 带有聚合谓词的NSFetchedResultsController 我的Coredata结构如下所示-有一个PurchaseDetails实体,它有n个支付实体(一对多关系)。每个付款都有一个类型,例如现金、支票、其他等。现在我需要获得所有购买详细信息的列表,其中Payment.type=现金 NSPredicate如下所示:@“ALL payments.type=‘cash’” 我们不应该全部使用吗? 谓词不是在创建时崩溃,而是在执行获取请求时崩溃 但是,如果不使用NSFetc

我在尝试实例化 带有聚合谓词的NSFetchedResultsController

我的Coredata结构如下所示-有一个PurchaseDetails实体,它有n个支付实体(一对多关系)。每个付款都有一个类型,例如现金、支票、其他等。现在我需要获得所有购买详细信息的列表,其中Payment.type=现金

NSPredicate如下所示:
@“ALL payments.type=‘cash’”

我们不应该全部使用
吗?
谓词不是在创建时崩溃,而是在执行获取请求时崩溃


但是,如果不使用
NSFetchedResultsController
而单独使用,相同的获取请求也可以正常工作。它们都不能一起工作?

是的,如果付款是一种多对多的关系,您需要使用
ALL
。请注意,这意味着每一笔付款的
类型将是
@“现金”
。如果您至少需要一次现金支付,请使用
ANY

不过,错误消息中的
(null)
提示了其他内容。您是否将谓词附加到提取请求


另外,您是否尝试在“获取结果”控制器中设置
缓存:nil
?FRC可能是您获得陈旧结果的原因。

是的,我只需要所有付款类型为“现金”的采购明细。它正好在
[controller performFetch:&error]
处崩溃,并且提取请求也正确。如果我用
ANY
替换它,一切都正常,但它不是缩进谓词。因此,它可能“不起作用”,因为有一笔付款的类型不是
cash
或未设置。-此外,使用FRC时,通常会出现缓存问题。初始化时尝试设置
缓存:nil
。感谢您的帮助。我已确保缓存为零。第一点:我的意思是,检查你的数据。可能谓词是正确的,但数据不包含您期望的内容。