为什么'self'无法识别?

why couldn't 'self' recognize?

我正在开发 iOS 应用程序。

我想在 lldb 上有 UITableView 的一页上使用 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 的实例。 为什么 'self' 无法识别?

then i stop Application by pause button...why couldn't 'self' recognize?

如果您通过单击 Xcode 中的暂停按钮停止应用程序,您将无法控制应用程序停止时正在执行的代码。执行几乎可以在任何地方停止,如果 self 在你停止的任何地方都定义了,那么它很可能不会被定义为你想要的对象。

不要使用暂停按钮,而是在要调试的 class 的源代码中设置一个断点。

除了 Caleb 的回答之外,您还可以在断点处获取任何对象的内存地址,并在暂停应用程序后向该对象发送消息,方法如下:

po self

它的输出将是这样的:

<MYViewController: 0x7ffa63871800>

然后使用暂停按钮暂停应用程序并在控制台上输入:

po [((MYViewController*)0x7ffa63871800).workview recursiveDescription]