Re: Questions regarding release
Re: Questions regarding release
- Subject: Re: Questions regarding release
- From: Rob Petrovec via Cocoa-dev <email@hidden>
- Date: Thu, 26 Sep 2019 17:30:05 -0600
> On Sep 26, 2019, at 5:20 PM, Gabriel Zachmann via Cocoa-dev
> <email@hidden> wrote:
>
>> The issue in the below code to my eye is that you allocate a path with
>> CGPathCreateWithRect (+1) but then don't release it.
>>
>> In that case, I am wondering:
>> doesn't ownership pass to the textlayer ?
>> If yes, shouldn't textlayer release the path when it gets destroyed by the
>> ARC?
>>
>> CALayer will indeed release shadowPath when it’s deallocated. However,
>> CALayer.setShadowPath doesn’t expect to be passed a +1 reference, so it will
>> retain/copy its argument, and it’s that retain which will be balanced by the
>> release during object destruction. Functions and methods generally do not
>> expect to be passed +1 objects.
>
> So, if I understand you correctly, I should do this:
>
> textlayer.shadowPath = CGPathCreateWithRect( textlayer.bounds, NULL );
> CFRelease( textlayer.shadowPath )
>
> ?
> Is that correct?
From a memory perspective, yes.
—Rob
> ______________________________________________
>
> 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