A quoi sert id<> ???
pourquoi utiliser id ?
c'est un pointeur vers une instance d'une classe selon la doc...
mais par exemple _rssItems est un pointeur vers une instance de la classe NSMutableArray si je me trompe pas. donc quelle est la différence svp?
NSMutableArray * _rssItems;
id<FluxRSSParserDelegate> _delegate;
NSOperationQueue *_retrieverQueue;
Je vois pas a quoi cela sert
c'est un pointeur vers une instance d'une classe selon la doc...
mais par exemple _rssItems est un pointeur vers une instance de la classe NSMutableArray si je me trompe pas. donc quelle est la différence svp?
NSMutableArray * _rssItems;
id<FluxRSSParserDelegate> _delegate;
NSOperationQueue *_retrieverQueue;
Je vois pas a quoi cela sert
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
<...> = indique que l'objet répond à un @protocol.
Donc "id<FluxRSSParserDelegate>" = un objet quelconque, on s'en fiche de sa classe... du moment qu'il se conforme au protocole FluxRSSParserDelegate. Que cet objet soit un UIViewController, un NSObject quelconque, un TotoTrucMuche, c'est pas important, du moment qu'il se conforme au protocole FluxRSSParserDelegate, c'est ça qui est important.
Après tu pourrais mettre "TotoTrucMuche<FluxRSSParserDelegate>" comme type pour indiquer que _delegate doit être du type TotoTrucMuche en plus de se conformer au protocole FluxRSSParserDelegate... mais en l'occurrence, surtout pour le cas d'usage d'un "delegate", pourquoi mettre une contrainte sur le type alors que conceptuellement ce qui t'intéresse sur ce delegate c'est qu'il réponde aux méthodes du protocole prévu, quelle que soit sa classe et l'organisation de la hiérarchie des classes...
Je profite du sujet pour poser une petite question :
Quel est le sens des variables commençant par un _ ?
Y a-t-il une convention quelconque pour utiliser le _ ?
Merci
Fais comme tu le sens, mais ne pas l'utiliser a plus de sens pour les variables d'instance qui correspondent à des propriétés.
En théorie, utiliser "_" au début d'un nom d'ivar est réservé par Apple. En pratique beaucoup de monde les utilise pour indiquer des ivars pour les différencier des variables locales.
voir ici le sujet dans le forum là dessus :
http://pommedev.mediabox.fr/frameworks-communs-objective-c/question-sur-la-facon-de-declarer-une-variable-avec-un-_-devant/?topicseen