iphone - sobrescrita - tipos de atributos python




Obtendo o nome da classe de uma instância (5)

Eu tenho o seguinte problema: Eu recebo uma instância de uma classe passada e quero saber o nome da classe dessa instância. Como conseguir isso?


Basta adicionar uma categoria:

NSObject+Extensions.h
- (NSString *)className;

NSObject+Extensions.m
- (NSString *)className {
    return NSStringFromClass(self.class);
}

Em seguida, use o seguinte código:

NSString *className = [[SomeObject new] className];

ou até mesmo:

NSString *className = SomeObject.new.className;

Para usá-lo em qualquer lugar, adicione a categoria ao arquivo YourProject.pch.


De dentro da própria classe

-(NSString *) className
{
    return NSStringFromClass([self class]);
}

Você também pode usar [[self class] description]


se tudo que você quer fazer é testar um objeto para ver se é um tipo de uma determinada classe

BOOL test = [self isKindOfClass:[SomeClass class]];

OBJC:

NSStringFromClass([instance class])

RÁPIDO

Por exemplo:

String(describing: YourType.self)

Do tipo:

String(describing: self)




classname