objective-c - that - what is reflection in java
Objetivo-C classe-> string como:[NSArray className]-> @ “NSArray” (2)
Aqui está uma maneira diferente de fazer isso com um pouco menos de digitação:
NSString *name = [NSArray description];
Eu estou tentando obter um nome de seqüência de caracteres de uma classe do próprio objeto de classe.
// For instance
[NSArray className]; // @"NSArray"
Eu encontrei object_getClassName(id obj)
mas isso requer uma instância ser passada para ele, e no meu caso isso é trabalho desnecessário.
Então, como posso obter uma string de um objeto de classe e não uma instância?
Considere esta alternativa:
const char *name = class_getName(cls);
É muito mais rápido, já que não precisa alocar o objeto NSString e converter ASCII para qualquer representação NSString
. É assim que NSStringFromClass()
é implementado.