Looking for objective-c Keywords? Try Ask4Keywords

Objective-C Language Grand Central Dispatch (GCD) gebruiken


Voorbeeld

GCD garandeert dat uw singleton maar één keer wordt geïnstantieerd, zelfs als deze vanuit meerdere threads wordt aangeroepen. Voeg dit in een willekeurige klasse in voor een enkele instantie met de naam shared .

+ (instancetype)shared {

    // Variable that will point to the singleton instance. The `static`
    // modifier makes it behave like a global variable: the value assigned
    // to it will "survive" the method call.
    static id _shared;

    static dispatch_once_t _onceToken;
    dispatch_once(&_onceToken, ^{

        // This block is only executed once, in a thread-safe way.
        // Create the instance and assign it to the static variable.
        _shared = [self new];
    });

    return _shared;
}