La méthode de lancement Singleton produit un avertissement?

Dans ma méthode de sortie singleton, je ne fais rien:

-(void) release { //A whole lot of nothing. } 

Mais il produit cet avertissement:

Avertissement: Modificateurs d’objects dissortingbués en conflit sur le type de retour dans l’implémentation de ‘release’

J’ai googlé et vu les autres ont la même erreur, mais aucune explication de l’avertissement. Quelqu’un sait-il de quoi il s’agit?

Vous devez le déclarer à tout moment.

 - (oneway void) release {} 

oneway est un mot-clé utilisé avec des objects dissortingbués pour indiquer que l’appel peut être effectué de manière asynchrone. Comme l’en-tête NSObject l’utilise lorsqu’il déclare la méthode de release , vous devez également l’utiliser. Cela n’affectera pas votre programme à moins d’utiliser des objects dissortingbués, mais cela satisfera le compilateur.

Dans NSObject.h, la définition de la méthode de release renvoie un oneway void .

Le mot-clé oneway est utilisé pour les objects dissortingbués.

Depuis Xcode4.2 et LLVM, les vérifications sont plus fortes et si elles ont été acceptées par les versions précédentes de Xcode ou par gcc, vous devez maintenant append ce mot-clé oneway pour que le compilateur LLVM arrête d’avertir à ce sujet.

 -(oneway void) release { /* do nothing */ } 

Cela n’aura aucun incident sur votre code.