我对以下代码有疑问,我需要对 NSMutableDictionary 中的每个数组进行一些修改。当我第一次将这些数组添加到字典中时,它们是“MutableArray”,但是当我尝试对它们做一些事情时,它们变成了“NSArray”。
这是我的代码:
UITableViewCell *selectedCell = [tableView cellForRowAtIndexPath:indexPath];
NSString *cellText = selectedCell.textLabel.text;
NSLog(@"cell: %@", cellText);
Boolean flag = false;
NSMutableDictionary *myTempDict = [[NSMutableDictionary alloc] initWithDictionary:self.tableContents copyItems:YES];
for (NSString *key in myTempDict)
{
NSLog(@"1st for");
for(NSString *myString in [myTempDict objectForKey:key])
{
NSLog(@"2nd for");
if([myString isEqualToString:cellText])
{
if([[myTempDict objectForKey:key] isKindOfClass:[NSMutableArray class]])
{
NSLog(@"mutable");
}
else if([[myTempDict objectForKey:key] isKindOfClass:[NSArray class]])
{
NSLog(@"not mutable");
}
[[myTempDict objectForKey:key] removeObject:myString];
break;
NSLog(@"break1");
}
NSLog(@"2nd for end");
}
if(flag)
{
break;
NSLog(@"break2");
}
}
self.tableContents = myTempDict;
[tableView reloadData];
现在当我运行它时,它会产生以下错误:
- 手机:12-01244476
- 第一名
- 第二为
- 不可变
- -[__NSArrayI removeObject:]: 无法识别的选择器发送到实例 0x7c02580
- 当前语言:自动;目前客观-c
在我的 viewdidLoad 上,我将那些 Array 创建为 NSMutableArray,但现在它又回到了 NSArray,为什么?以及如何解决这个问题的任何想法?
真的需要帮助。
谢谢