removeAllObjects会让element自动release. 下面是一个二维数组的用法。 NSMutableArray* buddyList = [[NSMutableArray alloc] init]; for (int i=0; i<5; i++) { [buddyList addObject:[[NSMutableArray alloc] init]]; } for (int i=0; i<5; i++) { for (int j=0; j<6; j++) { NSString* str = [NSString stringWithFormat:@"%d%d", i, j]; [[buddyList objectAtIndex:i] addObject:str]; } } //the 1th way to release int i = 0; int j = 0; //1th way for (i=0; i<[buddyList count]; i++) { [[buddyList objectAtIndex:i] removeAllObjects]; } [buddyList removeAllObjects]; [buddyList release]; //the 2th way to release for (i=0; i<[buddyList count]; i++) { for (j=0; j<[[buddyList objectAtIndex:i] count]; j++) { [[[buddyList objectAtIndex:i] objectAtIndex:j] release]; } [[buddyList objectAtIndex:i] release]; } [buddyList release];