Ios NSPredicate未响应
我正在使用Stanford的Ios NSPredicate未响应,ios,xcode,core-data,nspredicate,nsfetchedresultscontroller,Ios,Xcode,Core Data,Nspredicate,Nsfetchedresultscontroller,我正在使用Stanford的UICoreDataTableViewController对数据库执行提取 在我的主视图中,用户在搜索栏上输入一个浮点值,通过点击搜索,谓词使其仅获取最大值和最小值之间的值(即,浮点值介于3和10之间) 在主视图中,我构建了一个包含实体的字符串,一个包含必须执行搜索的属性的字符串,最后是一个包含谓词(大于x小于y)的数组。我在prepareforsgue上传递字符串和数组。它工作得很好 我希望用户能够看到所有的VAULE,如果他/她没有键入任何数字。因此,在prepa
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]];
现在是一种魅力。感谢您带着解决方案回来。你能用它作为答案并打正确的分数吗?非常感谢。