restricciones - donde se guardan los archivos descargados de safari en iphone
Obteniendo el nombre de la clase de una instancia (6)
Desde dentro de la clase
-(NSString *) className
{
return NSStringFromClass([self class]);
}
Tengo el siguiente problema: obtengo una instancia de una clase y quiero saber el nombre de la clase de esta instancia. Cómo obtener esto?
Si está buscando cómo obtener el nombre de clase en Swift, puede usar reflect para obtener información sobre el objeto.
let tokens = split(reflect(self).summary, { $0 == "." })
if let typeName = tokens.last {
println(typeName)
}
Solo agrega una categoría:
NSObject+Extensions.h
- (NSString *)className;
NSObject+Extensions.m
- (NSString *)className {
return NSStringFromClass(self.class);
}
Luego usa el siguiente código:
NSString *className = [[SomeObject new] className];
o incluso:
NSString *className = SomeObject.new.className;
Para usarlo en cualquier lugar, agregue la categoría al archivo YourProject.pch.
También puede usar [[self class] description]
si todo lo que quiere hacer es probar un objeto para ver si es un tipo de una clase determinada
BOOL test = [self isKindOfClass:[SomeClass class]];
NSStringFromClass([instance class])
debería hacer el truco.