我正在开发iOS应用程序。
我想在一个在lldb上有UITableView的Page上使用recursiveDescription。 我移到页面上方,然后我通过暂停按钮停止应用程序。我收到了以下错误。
(lldb) po [self.workview recursiveDescription]
error: use of undeclared identifier 'self'
error: 1 errors parsing expression
(lldb) po [self.view recursiveDescription]
error: use of undeclared identifier 'self'
error: 1 errors parsing expression
self.workview是UITableView的一个实例。 为什么不能自我'认?
答案 0 :(得分:5)
然后我通过暂停按钮停止应用程序......为什么不能'自我'识别?
如果您通过单击Xcode中的暂停按钮来停止应用程序,则无法控制应用程序停止时正在执行的代码。执行可以在任何地方停止,并且如果在你停止的任何地方都定义了self
,那么很有可能它不会被定义为你想要它的对象。
不要使用暂停按钮,而是在要调试的类的源代码中设置断点。
答案 1 :(得分:3)
除了Caleb的答案之外,您还可以在断点处获取任何对象的内存地址,并在将app与以下内容发送后向该对象发送消息:
po self
它的输出将是这样的:
<MYViewController: 0x7ffa63871800>
然后使用暂停按钮暂停应用,并在控制台上输入:
po [((MYViewController*)0x7ffa63871800).workview recursiveDescription]