【发布时间】:2021-07-02 09:49:32
【问题描述】:
有一个临时变量tmp 作为NSObject 实例,
我添加了一个断点,它在打印操作之前执行express tmp = nil,我可以在变量列表中看到这个tmp 真的变成了nil。
但是,它仍然打印旧的NSObject 实例,为什么?
【问题讨论】:
-
它可能已经优化(注意“never mutated”警告),或者在执行断点时已经准备好下一条指令。有没有影响到你的真实例子?
-
例如,我想在ObjC中测试一些代码,然后我写了类似“BOOL test = NO; if (test) { // dosomething }”,并下一个断点来改变测试的值变成YES,就会执行测试代码。