我正在努力找出解决这个问题的最佳方法。我有一个UITableView,其中可能有X个部分。我还有一个按钮,它产生一个带有自定义UIPickerView的弹出框,显示每个部分的标题(我从数组中获取了这些值,而不是UITableView,因为我无法弄清楚如何)。
当他们选择一个选项时,我想要隐藏UITableView中的所有部分,显然,这一部分带有所选选项的标题。
我想知道你是否可以遍历所有部分,看看它的标题,如果它与选择不匹配,隐藏它?可能值得注意的是,永远不会有超过10个部分,每个部分都有几个单元格,所以我不知道[table updateTable]或[table reloadData]是否更好。
我的尝试:
//Filter out the notes that should display
-(void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component{
//self.notesTable.dataSource = [myArrayOfDictionaries objectAtIndex:row];
//[self.notesTable reloadData]; this did not work
for (int section = 0; section < [notesTable numberOfSections]; section++){
//find sections that don't match pickerview selection
NSLog@("%@",[notesTable headerViewForSection:row);//return null?
}
}
答案 0 :(得分:1)
您能否发布UITableView.delegate
和UITableView.dataSource
方法的代码?
你想做这样的事情:
@property
指向allData并维护指向currentData的另一个@property
reloadData
tableView
delegate
和dataSource
方法引用currentData
@property
这似乎是因为您设置UITableView
的{{1}},这是不正确的。 dataSource = currentData
应始终设置为您设置为符合此协议的类(可能是您的DataSource
)。