1

GCD может использоваться для управления в качестве механизма синхронизации, применяя dispatch_async на сеттер и dispatch_sync на геттере.Что означает вызов dispatch_async внутри получателя?

Есть ли способ использования dispatch_async в составе getter?

+1

Геттер с побочными эффектами (как правило, используется в случае использования _bad_). –

ответ

2

dispatch_async является асинхронным. Любое вычисленное значение, вычисленное асинхронно, не будет доступно для возврата из получателя.

Итак, нет, вы не можете использовать dispatch_async() для вычисления возвращаемого значения (именно поэтому вы используете dispatch_sync()).

Не означает, что для этого не было бы пользы. Только не для возвращаемого значения.