我正在使用斯坦福大学UICoreDataTableViewController
对数据库进行提取。
在我的主要观点中,用户在 searchBar 上输入一个浮点数,然后通过点击搜索,谓词使它只获取最大值和最小值之间的值(即 3 到 10 之间的浮点数)。
在主视图中,我构建了一个带有实体的字符串,一个带有必须执行搜索的属性的字符串,最后是一个带有谓词(大于 x 且小于 y)的数组。我将字符串和数组传递给prepareForSegue
. 它工作得很好。
如果他/她没有输入任何数字,我希望用户能够看到所有的值。所以在prepareForSegue
我添加了一个根据 NSLog 正确调用的条件。
问题是,在属性上,一些值只是零(我确定了这一点)。如果prepareForeSegue
我通过以下谓词数组:
prepredicateArrayToPass=[NSArray arrayWithObject:[NSPredicate predicateWithFormat:@"%@ !=nil", attributeToPass]];
提取完成,将 nil 值解释为 0,因此被显示。不好。
但是,如果我复制谓词并将其直接粘贴到它的setupFetchedResultsController
方法上,UICoreDataTableViewController
它就可以完美地工作,并且不会显示 nil 值。
如果我直接在 上添加条件UICoredataTableViewController
,它也不起作用。
我真的不知道如何更进一步。任何帮助将非常感激。
谢谢。