Uitableview单元格中的重复?

时间:2011-08-26 21:18:11

标签: objective-c ios xcode

我厌倦了在整个晚上尝试解决这个问题我开始时的问题是当我添加一个新数据时它将数据存储到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];
        }



    }  

}

最终结果显示第一个

enter image description here

当我添加另一个数据时,它显示了这个

enter image description here

如果他们是另一部分的数据,请说水,当我删除它开始从电力部分删除

这是删除功能:

  

- (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]; }

1 个答案:

答案 0 :(得分:2)

您对所有部分使用相同的数组,因此您肯定希望获得更好的数据结构。在你的删除功能中,你没有检查tableview的部分,所以这就是它从错误部分删除的原因。

基本上,您希望创建一个包含每个部分的数据数组的数组,以便在主数组中,索引0处的对象是第0部分的数组等。