我找到了一种使用 LLDB 调试器控制台命令的简单方法。如果有人知道检查对象引用计数的另一种好方法,请随意留下另一个答案。
首先,当您想要检查某个对象的引用计数时,使用断点在代码中的某个点暂停执行。控制台将显示(lldb)。单击它旁边以插入光标。
键入language swift refcount array(其中“array”是我要检查的对象的名称;替换为您自己的对象的名称),然后按 Return。控制台将以这种格式输出对象的引用计数:
refcount data: (strong = 1, unowned = 0, weak = 0)
输入help以查看更多控制台命令。有很多。我已经使用 Xcode 五年了,今天才知道。这可以是一个超级有用的调试工具。仅供参考,这里有一些最有用的:
po self
代表“打印对象”。打印一个很好的对象描述。我只是在这里以“自我”为例。您可以替换您自己的对象的名称。
p self
“打印”命令。作为打印对象,但更冗长。再次以“self”为例。
step
推进一行代码。
continue
恢复程序执行。
expr
“表达式”命令。允许您输入 Swift 代码来修改变量。例如,向数组对象添加一些数据:
expr array.insert(343, at: 0)
您甚至可以通过这种方式更改 UI 元素,如下例所示:
expr self.view.tintColor = UIColor.red
只需po CFGetRetainCount(someVariable)在 lldb 上输入
来源:https : //developer.apple.com/documentation/corefoundation/1521288-cfgetretaincount