我有一个完全自定义的视图,其中包含一个 UITableView 和一个自定义选项卡栏(基本上是一个包含 6 个 UIButtons 的 UIView)。
我正在从 plist 文件加载数据,然后根据类别将数据排序到多个数组中(杂项数组和邮件项数组等)
标签栏中的每个按钮都代表一个类别,当我按下按钮时,我调用自定义函数“miscSelected”等等。
如何让表格视图完全重新加载,然后根据所选数组显示表格视图(选择杂项类别,表格视图会自行清除并加载杂项数组数据,与任何其他类别相同)?
创建我尝试过的方法并将 NSString 命名为“selection”,然后在我设置的每个按钮功能中选择等于我选择的任何部分。在我的 cellForRoxAtIndexPath 方法中,我有这个:
if ([self.selection isEqualToString:@"All Items"]) {
NSArray *mainDataArray = [NSArray arrayWithContentsOfFile:self.plistFile];
NSSortDescriptor *brandDescriptor = [[NSSortDescriptor alloc] initWithKey:@"name" ascending:YES];
NSArray *sortDescriptors = [NSArray arrayWithObject:brandDescriptor];
self.sortedData = [mainDataArray sortedArrayUsingDescriptors:sortDescriptors];
}
else if ([self.selection isEqualToString:@"Misc Items"]){
self.sortedData = [NSArray arrayWithContentsOfFile:self.plistFile];
}
cell.itemTitle.text = [[self.sortedData objectAtIndex:indexPath.row] objectForKey:@"name"];
为了示例和测试,我只是显示相同的数据,只有一个按钮按字母顺序显示,另一个不显示。
此代码仅在我开始向下滚动和向后滚动时才有效,但实际上并不会在按下按钮时更新。调用 myTable reloadData 也不做任何事情。
任何帮助都会很棒,谢谢!