Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/93.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 NSPredicate未响应_Ios_Xcode_Core Data_Nspredicate_Nsfetchedresultscontroller - Fatal编程技术网

Ios NSPredicate未响应

Ios NSPredicate未响应,ios,xcode,core-data,nspredicate,nsfetchedresultscontroller,Ios,Xcode,Core Data,Nspredicate,Nsfetchedresultscontroller,我正在使用Stanford的UICoreDataTableViewController对数据库执行提取 在我的主视图中,用户在搜索栏上输入一个浮点值,通过点击搜索,谓词使其仅获取最大值和最小值之间的值(即,浮点值介于3和10之间) 在主视图中,我构建了一个包含实体的字符串,一个包含必须执行搜索的属性的字符串,最后是一个包含谓词(大于x小于y)的数组。我在prepareforsgue上传递字符串和数组。它工作得很好 我希望用户能够看到所有的VAULE,如果他/她没有键入任何数字。因此,在prepa

我正在使用Stanford的
UICoreDataTableViewController
对数据库执行提取

在我的主视图中,用户在搜索栏上输入一个浮点值,通过点击搜索,谓词使其仅获取最大值和最小值之间的值(即,浮点值介于3和10之间)

在主视图中,我构建了一个包含实体的字符串,一个包含必须执行搜索的属性的字符串,最后是一个包含谓词(大于x小于y)的数组。我在
prepareforsgue
上传递字符串和数组。它工作得很好

我希望用户能够看到所有的VAULE,如果他/她没有键入任何数字。因此,在
prepareforsgue
中,我添加了一个根据NSLog正确调用的条件

问题是,在attibutes上,一些值仅为零(我确保了这一点)。如果是
prepareforesgue
I,则传递以下谓词数组:

prepredicateArrayToPass=[NSArray arrayWithObject:[NSPredicate predicateWithFormat:@"%@ !=nil", attributeToPass]];
提取完成后,将nil值解释为0,因此显示。不太好

但是,如果复制谓词并将其直接粘贴到
UICoreDataTableViewController
上的
setupfetchedresultscoontroller
方法上,它将正常工作,并且不会显示nil值

如果我直接在
UICoredataTableViewController
上添加条件,它也不起作用

我真的不知道该怎么进一步。任何帮助都将不胜感激


谢谢。

所以,我在发帖几分钟内就找到了答案

问题在于谓词字符串上的简单语法。不要使用%@来指定阁楼,它应该是%K。所有内容都在屏幕上解释

因此,谓词数组应该是:

prepredicateArrayToPass=[NSArray arrayWithObject:[NSPredicate predicateWithFormat:@"%K !=nil", attributeToPass]];

现在是一种魅力。

感谢您带着解决方案回来。你能用它作为答案并打正确的分数吗?非常感谢。