Cela pourrait être le motif de conception que je ne connais pas.Obtention de Xcode pour supprimer l'avertissement "No XXX method found" lors de la délégation
J'implémente la délégation asynchrone dans une application qui utilise NSURLConnection
. Un objet enveloppe le NSURLConnection
et gère ses messages délégués; ça fonctionne bien. Maintenant, je définir mes propres délégués dans l'objet qui l'utilise (NSURLConnection
messages ConnectionWrapper
, ConnectionWrapper
messages NeedsToUseConnection
, vous voyez l'idée), et qui fonctionne aussi bien, cependant, Xcode émet cet avertissement:
Non ' -request: méthode finishedWithResult » trouvé
Ceci est, sans doute, parce que je déclare le délégué que je vous appelle comme ceci:
id<NSObject> delegate;
... et Xcode est che cking ce que NSObject
déclare dans le cadre de la Fondation. Mon message de délégué personnalisé n'est pas là. Je suis bien isolante l'appel:
if([delegate respondsToSelector:@selector(request:finishedWithResult:)])
[delegate request:self finishedWithResult:ret];
En plus de tourner l'avertissement off - J'aime travailler avec autant de mises en garde sur que possible - est-il un moyen de communiquer (soit syntaxiquement ou via une directive du compilateur) que je suis conscient que ce message n'est pas déclaré? Dois-je, au contraire, utiliser un modèle de conception d'interface pour ce Java? En utilisant id<WillReceiveRequestMessages>
ou quelque chose?
Ouvert à la suggestion.
Merci. Je viens de voir un exemple de cela avec UIAlertViewDelegate, et c'est très utile. –