Get string id in Objective-C

Wie bekommen Sie die besten string-Darstellung eines id Objekt?

Ist das folgende korrekt? Gibt es eine einfachere Möglichkeit?

id value;
NSString* valueString = nil;
if ([value isKindOfClass:[NSString class]]) {
    valueString = value;
} else if ([value respondsToSelector:@selector(stringValue)]) {
    valueString = [value stringValue];
} else if ([value respondsToSelector:@selector(description)]) {
    valueString = [value description];
}
  • Interessantes Konzept. Wie würden Sie in dieser Ausgabe?
  • NSObject hat die Eigenschaft "description" gibt den Namen der Klasse string . Der derived object implementieren kann, die Beschreibung von NSObject-Protokoll zur Rückkehr nichts mehr meanigful.
  • Ich habe zur Anmeldung eine id und ich möchte die log-Nachricht, um so hilfreich wie möglich.
  • scheint perfekt!.
  • Also für Ihre Klassen, die Sie überschreiben können: "Beschreibung", um wieder mehr Sinn.
InformationsquelleAutor hpique | 2012-08-20
Schreibe einen Kommentar