Comment désactiver cet avertissement dans Xcode? Je comprends le message d'avertissement, je veux simplement le supprimer.
Le bloc retient implicitement le «soi»; mentionner explicitement `` soi '' pour indiquer qu'il s'agit d'un comportement intentionnel
3 Réponses :
Ajoutez -Wno-implicit-retain-self
à l'entrée appropriée dans vos paramètres de génération. Pour la liste complète, voir les drapeaux de diagnostic à Clang
Merci! Quelle est l'entrée appropriée dans les paramètres de construction?
@BerryBlue - quelque chose de l'IIRC dans le sens des "drapeaux supplémentaires du compilateur" (je suis sur une tablette - pas de Xcode)
Merci! Le champ s'appelle "Autres indicateurs d'avertissement".
Il est possible de supprimer certains codes dans une classe.
#pragma clang diagnostic push #pragma clang diagnostic ignored "-Wimplicit-retain-self" .. code .. #pragma clang diagnostic pop
L'avertissement est intentionnel. Le simple fait de le désactiver peut entraîner des fuites de mémoire. Vous pouvez utiliser quelque chose comme ceci:
__weak __typeof(self) weakSelf = self; dispatch_async(self.queue, ^{ __typeof(self) strongSelf = weakSelf; ... [weakSelf someMethod]; });
Au lieu d'essayer de le supprimer, corrigez le code en faisant ce qu'indique l'avertissement.