OGeek|极客世界-中国程序员成长平台

标题: ios - Xcode lldb 不存储属性 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 15:10
标题: ios - Xcode lldb 不存储属性

我目前使用的是 Xcode 6.3.1。在调试区域,我暂停应用程序并在调试窗口中存储一个类似 p NSString * $test = @"word" 的属性。如果我键入 po $test 输出将是 word,这是完美的,但只要我让应用程序运行。当我再次暂停它超出类/方法的范围时,它们的属性似乎为零。当我输入 p $test 我的输出将是 (NSString *) $test =.

这是此版本 Xcode 的错误还是可以修复?

谢谢



Best Answer-推荐答案


这里的问题是您正在创建一个 NSString 并将 lldb 便利变量设置为指向它。但是运行时不知道这个变量持有对它的引用。所以在某个时候 ARC 会释放实际的对象。

我们不会在 lldb 中保留/释放 lldb 便利变量。仅仅因为您碰巧在表达式中引用了某些内容,就很容易最终添加无关的保留,这会以不明显的方式改变程序的行为。

如果您希望使用表达式解析器创建的 ObjC 对象持久化,您可以在其上调用“objc_retain”。

关于ios - Xcode lldb 不存储属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30111648/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://ogeek.cn/) Powered by Discuz! X3.4