• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Thread-safe atomic property for array
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Thread-safe atomic property for array


  • Subject: Re: Thread-safe atomic property for array
  • From: Ken Thomases <email@hidden>
  • Date: Fri, 14 Aug 2015 19:09:31 -0500

On Aug 14, 2015, at 6:59 PM, Trygve Inda <email@hidden> wrote:

> My main thread periodically downloads some data from a website. This is
> extracted into an NSArray (non-mutable) and placed in a property:
>
> @property (atomic, retain) NSArray* myArray;

> NSString* someString = [[hostObject myArray] objectAtIndex:2];
>
> How can I do this safely?
>
> The problem here is that if myArray is being replaced in the main thread
> after [hostObject myArray] is called but before objectAtIndex:2 is called,
> than myArray will disappear out from under the caller.

One of the things that an atomic property's getter does, for an object pointer type, is retain the object within the synchronization and autorelease it before returning it.  So, this is safe against that particular problem.  The returned array will remain valid within the caller's scope.

Regards,
Ken


_______________________________________________

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


  • Follow-Ups:
    • Re: Thread-safe atomic property for array
      • From: Trygve Inda <email@hidden>
References: 
 >Thread-safe atomic property for array (From: Trygve Inda <email@hidden>)

  • Prev by Date: Re: Thread-safe atomic property for array
  • Next by Date: Re: Thread-safe atomic property for array
  • Previous by thread: Re: Thread-safe atomic property for array
  • Next by thread: Re: Thread-safe atomic property for array
  • Index(es):
    • Date
    • Thread