从实例获取类的名称
我有以下问题:我得到一个类的实例通过,想知道这个实例的类的名称。 如何得到这个?
NSStringFromClass([instance class])
应该做的伎俩。
如果你想要做的就是testing一个对象,看它是否是某个类的types
BOOL test = [self isKindOfClass:[SomeClass class]];
从class级本身
-(NSString *) className { return NSStringFromClass([self class]); }
只需添加一个类别:
NSObject+Extensions.h - (NSString *)className; NSObject+Extensions.m - (NSString *)className { return NSStringFromClass(self.class); }
然后使用下面的代码:
NSString *className = [[SomeObject new] className];
甚至:
NSString *className = SomeObject.new.className;
要在任何地方使用它,请将该类别添加到YourProject.pch文件中。
你也可以使用[[self class] description]
如果您正在寻找如何在Swift中获取类名,则可以使用reflect来获取有关对象的信息。
let tokens = split(reflect(self).summary, { $0 == "." }) if let typeName = tokens.last { println(typeName) }