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