我厌倦了在整个晚上尝试解决这个问题我开始时的问题是当我添加一个新数据时它将数据存储到NSMutableArray中并在cellForRowAtIndexPath中显示数据,因为我有部分所以我做的是如下
if(indexPath.section == 0)
{
for (NSDictionary *dictt in data) {
if ([[dictt objectForKey:@"Type"] isEqualToString:@"Electricity"]) {
NSLog(@"%@",[dictt objectForKey:@"Account"]);
cell.textLabel.text = [dictt objectForKey:@"Account"];
cell.detailTextLabel.text = [dictt objectForKey:@"Type"];
[mainTableView reloadInputViews];
}
}
}
最终结果显示第一个
当我添加另一个数据时,它显示了这个
如果他们是另一部分的数据,请说水,当我删除它开始从电力部分删除
这是删除功能:
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {
[data removeObjectAtIndex:indexPath.row]; [tableView
deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationTop];
[self saveData];
[mainTableView reloadData]; }
答案 0 :(得分:2)
您对所有部分使用相同的数组,因此您肯定希望获得更好的数据结构。在你的删除功能中,你没有检查tableview的部分,所以这就是它从错误部分删除的原因。
基本上,您希望创建一个包含每个部分的数据数组的数组,以便在主数组中,索引0处的对象是第0部分的数组等。