2009-08-12 16 views
2

Wenn ich ein NSMutableArray habe, wo ich Objekte verschiedener Klassen (zB NSString, NSMutableString, NSProcessInfo, NSURL, NSMutableDictionary etc.) hinzugefügt habe Nun möchte ich dieses Array schnell aufzählen, also habe ich es versucht :schnelle Enumeration für Array mit verschiedenen Arten von Objekten

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

ich eine Warnung in Xcode bin immer sagen

warning: invalid receiver type "id*" 

Wie kann ich diese Warnung zu vermeiden?

Antwort

11

Der Code ist fast korrekt. Wenn Sie ID verwenden, ist es bereits impliziert, ein Zeiger zu sein, also sollten Sie es als schreiben:

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

Cool ... danke! – Dev

+0

und Sie möchten wahrscheinlich auch '[element className]' und nicht '[element class]'. –

+0

well class druckt auch den Namen richtig aus, aber className macht mehr Sinn beim Lesen des Codes ... danke für den Tipp! – Dev

Verwandte Themen