Raf*_*fAl 1 xcode objective-c ios
我有一个类型的对象id.该对象可以是我的自定义类实例之一.有没有办法记录它的类名?
我尝试将它投射到NSObject但我收到了一个错误.
error: C-style cast from 'id' to 'NSObject' is not allowed
Run Code Online (Sandbox Code Playgroud)
这里是控制台的完整输出:

对象的类同样是Objective-C 对象,因此请使用po而不是p:
po [object class]
Run Code Online (Sandbox Code Playgroud)
po是表达式的缩写,用于expression -o --打印表达式的描述.
你的错误是由一个事实引起的,id它必须被强制转换为
NSObject *,而不是NSObject.所以这也会起作用:
p [(NSObject *)object class]
Run Code Online (Sandbox Code Playgroud)
或者,按照lldb错误消息的建议,转换方法的返回类型:
p (Class)[object class]
Run Code Online (Sandbox Code Playgroud)
但po对您的问题来说,这是最简单的解决方案.
| 归档时间: |
|
| 查看次数: |
635 次 |
| 最近记录: |