Отладчик Xcode 12.4 показывает разные значения

#swift #xcode #swift5 #xcode12

#быстрый #xcode #swift5 #xcode12

Вопрос:

У меня есть следующий код:

 let subtractTax = salesManager?.projectEmployeeDetails?.subtractTax ?? false  

когда я делаю простой po (распечатываю в консоли отладчика) salesManager?.projectEmployeeDetails?.subtractTax , он отображается true в po результате.

но в списке const/переменные subtractTax отображаются как false, что странно, так как точки останова остановлены после присвоения ему значения.

Когда я передаю subtractTax константу функции true , она каким-то образом отображается, что на самом деле правильно и что я хочу видеть, но странно, что перед передачей функции она отображается false в представлении переменных.

Я напечатал имена потоков, и они являются основными как до, так и после присвоения значения.

Вы можете посмотреть отладку здесь:

Комментарии:

1. Вы пробовали разбить эту единственную строку кода на… может быть, три строки кода? Если да, то что произойдет? Я знаю, не так причудливо, как твое анимированное изображение, но иногда некоторые ошибки старой школы могут показать проблему.