Я использую dispatch_queue, доступ к которому осуществляется через свойство его владельца, например:
@property (nonatomic, assign) dispatch_queue_t queue;
Обратите внимание на ключевое слово assign
. Очередь используется во всех объектах жизни и, следовательно, принадлежит объекту. Я освобождаю очередь, когда объект-владелец освобождается:
-(void)dealloc
{
dispatch_release(self.queue);
self.queue = nil;
}
Как правильно отпустить это? Используется ли retain/release
?
Что произойдет, если во время вызова релиза есть вещи, ожидающие/запущенные в очереди?