Re: Thread-safe atomic property for array
Re: Thread-safe atomic property for array
- Subject: Re: Thread-safe atomic property for array
- From: Mike Abdullah <email@hidden>
- Date: Sat, 15 Aug 2015 13:10:06 +0100
> On 15 Aug 2015, at 13:07, Sandy McGuffog <email@hidden> wrote:
>
>
>> On Aug 15, 2015, at 1:14 PM, Mike Abdullah <email@hidden> wrote:
>>
>> NSArray *array = [hostObject myArray];
>> // run your checks, etc.
>> NSString *someString = [array objectAtIndex:2];
>
> Just to be safe:
>
> NSArray *array = [[hostObject myArray] retain];
> // run your checks, etc.
> NSString *someString = [array objectAtIndex:2];
> [array release];
>
> Or whatever other way of ensuring the array isn’t dealloced out from under you, depending on how you’re doing memory management
No need. The OP has stated myArray is an atomic property. It’s guaranteed not to go away until the end of the current autorelease pool.
If the above code did actually add some protection, it would mean the first line of code had a race condition in it where you might not be able to retain in time. You’d just be hiding the problem and making it less likely, rather than actually fixing it.
_______________________________________________
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