Re: copy and mutableCopy
Re: copy and mutableCopy
- Subject: Re: copy and mutableCopy
- From: Dave <email@hidden>
- Date: Sun, 27 Apr 2014 11:32:56 +0100
Hi,
Yes, I can see there are no guarantees and if is *has* to copy the object it will, but it has some optimisations, take this for example:
-(NSData*) newData
{
NSData* myData;
myData = [[NSData alloc] init];
//Add data to myData
return myData;
}
-(void) someMethod
{
NSData* myData;
NSData* myNewData;
myData = [self newData];
myNewData = [myData copy];
[myData release];
//Do something the myNewData
}
I think it said, in cases like this, no real data would be copied. It also said something like, the same would be true if it were using NSMutableData, as long as “myData” is NOT mutated before it is released.
It’s these types of cases I’m talking about, I realize that if objects start mutating then physical copies need to be made in some cases. it’s just it doesn't happen automatically just because you have invoked copy or mutableCopy - physical copies only occur IF they need to.
Thanks
Dave
On 27 Apr 2014, at 10:00, Dave <email@hidden> wrote:
> Hi All,
>
> A long time back, I remember reading something about the way in which copy and mutableCopy are implemented. I think basically it said that:
>
> someObject = [someOtherObject copy];
>
> or
>
> someObject = [someOtherObject mutableCopy];
>
> Wouldn’t necessarily allocate any extra data storage. I’ve been searching for it to refresh my memory, but I can’t see to find it anywhere. Does anyone know if this document or something like it exists somewhere?
>
> Thanks a lot
> Dave
>
>
> _______________________________________________
>
> Cocoa-dev mailing list (email@hidden)
>
> Please do not post admin requests or moderator comments to the list.
> Contact the moderators at cocoa-dev-admins(at)lists.apple.com
>
> Help/Unsubscribe/Update your Subscription:
>
> This email sent to email@hidden
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden