objective-c,object_getClassName(obj)与NSStringFromClass([obj class])

问题描述 投票:0回答:1

我遇到了一个错误,发现原因是object_getClassName(app)没有返回“ UIApplication”。谁能解释这两种方法之间的区别?

代码:

id app = [UIApplication sharedApplication];

// 1
object_getClassName(app); //output:NSKVONotifying_UIApplication

// 2
NSStringFromClass([app class]); //output:UIApplication
objective-c
1个回答
0
投票

object_getClassName返回原始类名;这是对象的真实类。

[[app class]NSStringFromClass()(不确定哪个)返回正在播放的“开发人员友好”类。

NSKVONotifying_UIApplication是在运行时动态创建的类,以支持KVO。

© www.soinside.com 2019 - 2024. All rights reserved.