获取ObjC类的父类
Xcode的lldb调试中,对于一个ObjC的类(的实例)来说,想要获取其父类:
概述
- ObjC获取父类
superclass
- 语法
Class parentClass = [someClassOrObj superclass];
- 用法举例
(lldb) po [object_getClass($x0) superclass] NSURLComponents
- 语法
class_getSuperclass
- 用法举例
Class parentClass = class_getSuperclass(SomeClass);
- 用法举例
详解
- ObjC获取父类
- 方法1:
superclass
- 说明:推荐,更准确
- 举例
- 对于:
(lldb) po 0x0000000281f086e0 <__NSXPCInterfaceProxy_AKAppleIDAuthenticationDaemonProtocol: 0x281f086e0>
- -》看不出具体是哪个类
- -》去获取父类
(lldb) po [0x281f086e0 superclass] _NSXPCDistantObject
- 对于:
- 方法2:
class_getSuperclass
- 说明:不推荐,其是ObjC内部方法,不建议直接使用
- 举例
(lldb) po class_getSuperclass(0x281f086e0) <NSXPCConnection: 0x280d421c0> connection to service named com.apple.ak.auth.xpc
- 方法1: