Frage

Die Standardbeschreibung für eine Klasse-Instanz zurückgibt „Classname: 0x105120“. Wie kann ich die Methode unten ändern, um nur die „Classname“ zurückzukehren?

// The code below just returns the address ...
- (NSString *)description {

 NSString *result;

 result = [NSString stringWithFormat:@"%p", self];
    return result;
}

EDIT: in diesem Fall wäre dies richtig sein? Obwohl ich verstehe, dass, wenn ich will, um tatsächlich den Klassennamen als NSString bekommen soll ich NSStringFromClass ([self-Klasse])

verwenden
- (id)init {
 NSLog(@"_init: %@", [self class]);
 [super init];
 return self;
}

Vielen Dank im Voraus -gary -

War es hilfreich?

Lösung

iPhoneOS: NSStringFromClass([self class])
MacOS: [self className]

... gibt Ihnen einen NSString mit dem Klassennamen

Edit:

Für beide iPhoneOS und MacOS der Weg zu gehen ist:

NSStringFromClass([self class])

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top