I a trying to make a mutableCopy of a planet object that contains 5 instance variables (one of them being an NSMutableArray of string literals. My problem is that I am unsure how to set the newPlanet>data to a copy of self>data, does that make sense?
-(id) mutableCopyWithZone: (NSZone *) zone {
Planet *newPlanet = [[Planet allocWithZone:zone] init];
NSLog(@"_mutableCopy: %@", [newPlanet self]);
[newPlanet setName:name];
[newPlanet setType:type];
[newPlanet setMass:mass];
[newPlanet setIndex:index];
// NSMutableArray *data; HOW TO: newPlanet>data = self>data?
return(newPlanet);
}
EDIT_001:
Based on the comments by Chuck & bbum I updated my method and added the following ...
@property(retain) NSMutableArray *data;
@synthesize data;
.
-(id) mutableCopyWithZone: (NSZone *) zone {
Planet *newPlanet = [[Planet allocWithZone:zone] init];
NSLog(@"_mutableCopy: %@", [newPlanet self]);
[newPlanet setName:name];
[newPlanet setType:type];
[newPlanet setMass:mass];
[newPlanet setIndex:index];
NSMutableArray *copiedArray = [[self data] mutableCopyWithZone:zone];
[newPlanet setData: copiedArray];
[copiedArray release];
return(newPlanet);
}
much appreciated
gary