我在一个任务里面放了一个延期,就像这样。
do {
defer {
self.captureSession?.commitConfiguration()
print("commitConfiguration")
}
self.captureSession?.beginConfiguration()
// try a bunch AV session setup calls
...
}
catch {
// error
}
我试图设置一个断点,以确保延迟块在末尾被踩入。令我惊讶的是,它没有。我检查了文档,运行了应用程序,看起来没有什么问题。所以我写了一份打印声明。你看,它确实打印了它,显示它可能确实执行了,即使调试断点从未被激活。
有人在Xcode 10.1 High Sierra看到过这个吗?
最佳答案
是的,我也注意到了同样的事情。如果内存可用,则使用xcode 9.4和high sierra。延迟触发,但断点不会中断。
关于swift - swift defer语句不会破坏点但会打印,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53807181/