2009-08-12 12 views
2

Si j'ai un NSMutableArray où j'ai ajouté des objets de différentes classes (par exemple NSString, NSMutableString, NSProcessInfo, NSURL, NSMutableDictionary etc.) Maintenant, je veux énumérer rapidement ce tableau, donc j'ai essayé :énumération rapide pour tableau contenant différents types d'objets

for (id *element in mutableArray){ 
    NSLog (@"Class Name: %@", [element class]); 
    //do something else 
} 

Je reçois un avertissement en disant Xcode

warning: invalid receiver type "id*" 

Comment puis-je éviter cet avertissement?

Répondre

11

Le code est presque correct. Lorsque vous utilisez id, il est déjà implicite d'être un pointeur, donc vous devriez l'écrire comme:

for (id element in mutableArray){ 
    NSLog (@"Class Name: %@", [element class]); 
    //do something else 
} 
+0

Cool ... merci! – Dev

+0

et vous voudriez probablement aussi '[element className]' et non '[element class]'. –

+0

bien classe est également imprimer le nom correctement, mais className a plus de sens en lisant le code ... merci pour le conseil! – Dev