从didSelectRowAtIndexPath中的NSMutableArray中删除对象

时间:2017-10-13 18:50:14

标签: ios objective-c uitableview dictionary

我正在创建一个使用复选标记创建单元格的方法。我有问题!

didSelectRowAtIndexPath

NSString *keyOfMainDic = [self.arr objectAtIndex:indexPath.row];
NSMutableArray *temDic = [rilievi objectForKey:keyOfMainDic];

UITableViewCell * thisCell = [tableView cellForRowAtIndexPath: indexPath];
     NSMutableDictionary * dict = [[NSMutableDictionary alloc] init];
     NSMutableArray *selArray = [[NSMutableArray alloc]init];
     if (thisCell.accessoryType == UITableViewCellAccessoryNone)
     {
         thisCell.accessoryType = UITableViewCellAccessoryCheckmark;
         [sendRelief setObject: temDic forKey: keyOfMainDic];
         [selArray addObject: sendRelief];
     }
     else
     {
         thisCell.accessoryType = UITableViewCellAccessoryNone;
         [selArray removeObject:sendRelief];
     }
  • selArray NSMutableArray
  • keyOfMainDic 包含另一个字典的密钥
  • temDic NSMutableArray,因为通过keyOfMainDic键,在另一个词典中我有一个可变数量的值

基本上,这种方法的工作方式如下:当我点击UITableView中的单元格时,我提取了上一个字典键(对应于UITableView中显示的元素。)使用此键,我提取了该键的实际值,因此在前两个变量中,我将提取我感兴趣的单个键及其值。

此时我所做的是:我创建一个新词典(dict)和一个新的NSMutableArray(selArray)。 如果是thisCell.accessoryType == UITableViewCellAccessoryNone,那么我在该单元格上打了一个复选标记,因为我选择了它,同时使用 keyOfMainDic 键添加一个新对象( temDic ) (前两个变量)到字典。然后我将第一个字典添加到NSMutableArray并重复操作UITableView中我关注的单元格。

这项工作。

问题是做相反的事情。当我点击带有复选标记的单元格时,我删除了复选标记并尝试从selArray中删除该字典,因为我不想再考虑该单元格了。我这样做[selArray removeObject: sendRelief];但它不起作用,我不知道如何通过从UITableView中选择一个单元来删除字典。

selArray我创建它只是因为我需要一个紧凑的结构,我必须发送给另一个控制器。

我希望自己解释一下。

谢谢!

0 个答案:

没有答案