1

GCD peut être utilisé pour gérer en tant que mécanisme de synchronisation en appliquant dispatch_async sur setter et dispatch_sync sur getter.Qu'est-ce que cela signifie d'appeler un dispatch_async dans un getter?

Existe-t-il un cas d'utilisation pour l'utilisation de dispatch_async dans un accesseur de propriété?

+1

Un getter avec des effets secondaires (généralement un cas d'utilisation _bad_). –

Répondre

2

dispatch_async est asynchrone. Toute valeur calculée de manière asynchrone ne sera pas disponible pour être renvoyée par le getter. Par conséquent, vous ne pouvez pas utiliser dispatch_async() pour calculer la valeur renvoyée (c'est pourquoi vous utilisez dispatch_sync()). Cependant, cela ne veut pas dire qu'il n'y aurait pas d'utilité pour cela. Juste pas pour la valeur de retour.