In fact, this is actually exactly equivalent to you sample. Global and class 
variable initialization on Swift is performed lazily and is implemented using 
dispatch_once().

And after a second thought, I think that it should be 'let' and not 'var', and 
you don't want the pointer to be changed after initialization.

I don't remember if static class variable are supported yet, but if they are, 
you can also use one instead of a global.

Le 14 août 2014 à 20:44, Gerriet M. Denkmann <gerr...@mdenkmann.de> a écrit :

> 
> 
> On 13 Aug 2014, at 17:35, Jean-Daniel Dupas <mail...@xenonium.com> wrote:
> 
>> At global scope
>> 
>> var sharedThing : Thing = Thing();
>> 
> 
> Excellent. Just what I needed.
> 
> But: is this thread-safe? What if several threads are trying to use the 
> sharedThing? The Swift book doesn't mention the word "thread".
> 
> Kind regards,
> 
> Gerriet.
> 
>> Le 13 août 2014 à 12:30, Gerriet M. Denkmann <gerr...@mdenkmann.de> a écrit :
>> 
>>> 
>>> How could I translate this to Swift?
>>> 
>>> + (Thing *)sharedThing
>>> {
>>>     static Thing *commonThing;
>>>     static dispatch_once_t justOnce;
>>>     dispatch_once( &justOnce, ^void
>>>             {
>>>                     commonThing = [ [ Thing alloc ] init ];
>>>             }
>>>     );
>>>     
>>>     return commonThing;
>>> }
>>> 
>>> Gerriet.
>>> 
>>> _______________________________________________
>>> 
>>> 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/mailing%40xenonium.com
>>> 
>>> This email sent to mail...@xenonium.com
>> 
> 


_______________________________________________

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