当我删除数组时,我是否也删除了字典的每个元素?当我删除数组时,是否必须删除字典中的每个元素?
NSMutableArray *myArry = [NSMutableArray arrayWithCapacity:100];
NSMutableDictionary *myDic = [NSMutableDictionary dictionaryWithCapacity:10];
[myArray addObject:myDic]; // this is done in loop
[myDic removeAllObjects]; // Is this necessary?
[myArray removeAllObjects];
如果OP仍然想使用该数组,那么'[myArray removeAllObjects]'是比[myArray release]更好的选择。数组中的对象从数组中移除时会发送'release'消息。 – glorifiedHacker
是的,但是他/他没有说他/他想重复使用它,所以我认为这是愚蠢的。 – coneybeare
您不拥有该阵列,因此您无法释放它。它会在autorelease池被耗尽时被释放。 – Chuck