我将数组添加到字典中,然后从数组中删除所有对象。 当我打印字典时,它也显示为空。表示字典中存在的数组数据也会删除。
if ([[[array objectAtIndex:0]objectAtIndex:i] isEqualToString:[filteredAry objectAtIndex:j]])
{
[menuAry addObject:[array1 objectAtIndex:i]];
}
[tempDict setValue:menuAry forKey:[filteredAry objectAtIndex:j]];
[menuAry removeAllObjects];
为什么诱惑显示为空?
答案 0 :(得分:1)
您要添加到字典中的数组与您要删除所有对象的数组完全相同。将它添加到字典中不会创建新对象,它只是添加对同一对象的引用。
如果要将它们分开,则应将副本添加到字典中,如下所示:
NSMutableArray *copiedArray = [[menuAry mutableCopy] autorelease];
[tempDict setObject:copiedArray forKey:[filteredAry objectAtIndex:j]];
//...
如果您使用ARC,则可以省略autorelease
。