Потокобезопасный ленивый метод доступа в Objective-C

Документация Apple гласит,

Если вам нужно написать собственный метод доступа для свойства, которое использует переменную экземпляра, вы должны получить доступ к этой переменной экземпляра непосредственно из метода. Например, обычно откладывают инициализацию свойства до его первого запроса, используя "ленивый метод доступа", например так:

- (XYZObject *)someImportantObject {
    if (!_someImportantObject) {
        _someImportantObject = [[XYZObject alloc] init];
    }

    return _someImportantObject;
}

Но, похоже, это не относится к безопасности потоков. Каков наилучший способ сделать ленивый аксессуар, как этот поток, безопасным?

0 ответов

Другие вопросы по тегам