我知道这是一个令人吃惊的愚蠢问题,但我无法弄明白。每个答案都涉及一个UISearchBar,这不是我所拥有的。
我试图在一个TableViewController上显示两组结果。
要显示的结果
1)我managedObjectContext
中设置的viewDidLoad
中的一切
2)如果选择了谓词,则过滤后的结果
在MyTableViewController
上,我有一个弹出窗口,当我点击UIBarButtonItem
上的MyTableViewController
时,会实例化。在popover上,我在MyTableViewController
上设置了一个谓词。
基本上,我想切换所显示的内容,并且显示切换是由我的变量是nil
(一切显示)还是过滤(变量设置谓词)驱动的。
答案 0 :(得分:1)
有两个NSArray属性allValues
和filteredValues
。使用filteredValues
数组设置所有委托/ dataSource属性。
接下来,当您第一次获得所有数据时,请执行以下操作:
self.allValues = [someController fetchAllValues];
self.filteredValues = self.allValues;
[self.myView.tableView reloadData];
最后,无论是否选择了谓词,都要更改filteredValues
数组:
if (self.selectedPredicate) {
self.filteredValues = [self.allValues filteredArrayUsingPredicate:self.selectedPredicate];
} else {
self.filteredValues = self.allValues;
}
[self.myView.tableView reloadData];