测试类类型

Eri*_*sen 4 iphone objective-c

当我将对象发送到NSLog时,我得到一个包含三个属性的字符串.第一个是对象的类,第二个是对象的框架,第三个是对象的CALayer.第二个和第三个属性标题为(例如layer =),因此我可以通过标题调用它们(例如myObject.layer).

第一个不是.我如何测试类类型?

谢谢!

e.J*_*mes 10

要获取对象的类,只需调用即可[myObject class].您可以将其与所需的类进行比较,如下所示:

if ([myObject class] == [SomeClass class]) { /* ... */ }
if ([myObject class] == [NSString class]) { /* ... */ }
Run Code Online (Sandbox Code Playgroud)

如果您只是将类名称作为字符串查找,则可以NSStringFromClass按如下方式使用该函数:

NSString * className = NSStringFromClass([myObject class]);
Run Code Online (Sandbox Code Playgroud)


die*_*ikh 7

如果您还想包含目标类使用的子类:

[object isKindOfClass:[SomeClass class]]
Run Code Online (Sandbox Code Playgroud)