Is there any practical difference between the following two code snippets:
NSObject * obj = [[_mutableArrayOne objectAtIndex:i] retain];
[_mutableArrayOne removeObject:obj];
[_mutableArrayTwo addObject:obj];
[obj release];
and
NSObject * obj = [_mutableArrayOne objectAtIndex:i];
[_mutableArrayTwo addObject:obj];
[_mutableArrayOne removeObject:obj];
Only the extra retain/release cycle that you ask it to do.
It might have some performance impact inside a loop of time-sensitive processing?