Mi aspettavo [super class]
per restituire la classe della superclasse, tuttavia ho trovato, utilizzando questo codice che restituisce la classe di questa classe.Perché "[auto classe] == [super classe]"?
Codice
NSLogObject([self class]);
NSLogObject([super class]);
NSLogObject([self superclass]);
NSLogBool([self class] == [super class]);
uscita
[self class]: MainMenuScene
[super class]: MainMenuScene
[self superclass]: CCScene
[self class] == [super class]:[YES]
Qualcuno può spiegare perché questo accade prego ?. Mi aspetto che restituisca lo stesso valore di [self superclass]
.
Macros: ------- #define NSLogBool(i) NSLog(@"%s:[%@]", #i, (i) ? @"YES" : @"NO") #define NSLogObject(o) NSLog(@"%s:[%@]", #o, o)
E in caso contrario non ho detto abbastanza "classe": "Classe classe classe classe!" –
Non si dovrebbero usare i prefissi Apple nelle proprie classi o macro (o semplicemente qualsiasi altro identificatore) – JustSid
Dovrei farlo se voglio che vengano visualizzati quando digito NSLog ...: P –