2011-08-26 81 views
0

我开始尝试通宵解决这个问题累了我的问题是当我添加一个新的数据它存储数据到NSMutableArray和cellForRowAtIndexPath我显示的数据,因为我有部分,所以我做的是遵循在Uitableview单元格中复制?

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

,如果他们是在另一部分数据让说水,当我删除,它开始从供电部分

删除和这里的删除功能:

- (空)的tableView :(UITableView的*)的tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {

[data removeObjectAtIndex:indexPath.row]; [tableView 

deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationTop];

[self saveData]; 

[mainTableView reloadData]; }

回答

2

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

基本上,要创建包含每个部分数据的数组的数组,从而使你的主阵列中的索引为0的目的是一种用于部分0等阵列

+0

谢谢有关删除它解决了! – Mahmoud

+0

一切工作正常,只是它不显示两个值,它只显示最后一个输入 – Mahmoud

+0

你可以发布你的新代码? – MishieMoo