KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
Is there any built-in function that allows me to deep copy an NSMutableArray ? I looked around, some people say [aMutableArray copyWithZone:nil] works as deep copy. But I tried and it seems to be a shallow copy. Right now I am manually doing the copy with a for loop: //deep copy a 9*9 mutable array to a passed-in reference array -deepMuCopy : (NSMutableArray*) array toNewArray : (NSMutableArray*) arrayNew { [arrayNew removeAllObjects];//ensure it's clean for (int y = 0; y<9; y++) { [arrayNew addObject:[NSMutableArray new]]; for (int x = 0; x<9; x++) { [[arrayNew objectAtIndex:y] addObject:[NSMutableArray new]]; NSMutableArray *aDomain = [[array objectAtIndex:y] objectAtIndex:x]; for (int i = 0; i<[aDomain count]; i++) { //copy object by object NSNumber* n = [NSNumber numberWithInt:[[aDomain objectAtIndex:i] intValue]]; [[[arrayNew objectAtIndex:y] objectAtIndex:x] addObject:n]; } } } } but I'd like a cleaner, more succinct solution.
Tags (comma-separated)
Save Edits
Cancel