Я хочу запустить блок кода только один раз для каждого экземпляра.
Можно ли объявить dispatch_once_t предикат как переменную-член вместо статической переменной?
Из GCD Reference мне это не ясно.
Предикат должен указывать на переменную, хранящуюся в глобальной или статической объем. Результат использования предиката с автоматическим или динамическим хранилище undefined.
Я знаю, что могу использовать dispatch_semaphore_t и логический флаг, чтобы сделать то же самое. Мне просто интересно.