Now singleton is thread safe.If multiple threads all try to access to the same time the “dispatch_once()” solves the problem. It guarantees that the code in the block will only be called once for the lifetime of the app and its faster then other methods like using “@synchronize().

Now there is no way to accidentally create it twice, its fast and it is threads safe.