Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Debugging Xcode调试断点可以改变程序的运行方式吗?_Debugging_Xcode8 - Fatal编程技术网

Debugging Xcode调试断点可以改变程序的运行方式吗?

Debugging Xcode调试断点可以改变程序的运行方式吗?,debugging,xcode8,Debugging,Xcode8,我试图找出为什么在保存布尔属性的状态时,当我运行程序,然后停止并重新运行以模拟关闭手机时,有时它似乎无法保存 当我在每个saveState()上设置断点(保存userDefaults的方法)并运行一系列测试时,打开/关闭属性(从T切换到F),它每次都能正常工作 但是,当我关闭断点并运行完全相同的一系列事件(打开/关闭属性)时,我不会一直得到相同的结果 是否有理由通过调试运行会产生与正常运行不同的结果?您发现了一个错误!时间问题?调试模式的执行速度比发行版慢。也许在调试时有足够的时间来实际保存(到

我试图找出为什么在保存布尔属性的状态时,当我运行程序,然后停止并重新运行以模拟关闭手机时,有时它似乎无法保存

当我在每个saveState()上设置断点(保存userDefaults的方法)并运行一系列测试时,打开/关闭属性(从T切换到F),它每次都能正常工作

但是,当我关闭断点并运行完全相同的一系列事件(打开/关闭属性)时,我不会一直得到相同的结果


是否有理由通过调试运行会产生与正常运行不同的结果?

您发现了一个错误!时间问题?调试模式的执行速度比发行版慢。也许在调试时有足够的时间来实际保存(到底层存储),而在发布时,手机在完成之前就已经关机了?嗯,我不确定。这在模拟器中也会发生——这会有区别吗?话虽如此,我不知道为什么这似乎解决了这个问题,但我将代码行从saveState和loadState函数的末尾移到了顶部(保存的第一个值),将该特定属性分配给userDefault值。我想什么有用,但我希望我知道为什么?你找到了一个!时间问题?调试模式的执行速度比发行版慢。也许在调试时有足够的时间来实际保存(到底层存储),而在发布时,手机在完成之前就已经关机了?嗯,我不确定。这在模拟器中也会发生——这会有区别吗?话虽如此,我不知道为什么这似乎解决了这个问题,但我将代码行从saveState和loadState函数的末尾移到了顶部(保存的第一个值),将该特定属性分配给userDefault值。我想什么有用,但我希望我知道为什么?