As you can read in the blog too, the developer documentation of dispatch_once 
states:

"The predicate must point to a variable stored in global or static scope. The 
result of using a predicate with automatic or dynamic storage is undefined."

so, no, you can not. Actually it works most of the time, but you can not rely 
on it...

Cheers, Jörg

On Nov 12, 2012, at 3:33 PM, Tom Davie <tom.da...@gmail.com> wrote:

> 
> On 12 Nov 2012, at 14:18, Joerg Simon <j_si...@mac.com> wrote:
> 
>> You can use dispatch_sync. The blog post of oliver dobnigg (cocoanetics) 
>> summs that up quite nicely:
>> http://www.cocoanetics.com/2012/02/threadsafe-lazy-property-initialization/
> 
> Or you can use dispatch_once, but make sure the once token is an ivar, unlike 
> I did.
> 
> Tom Davie


_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

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:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to