Вопрос по objective-c, xcode – Почему NSAssert разрывается в main, а не в коде, который вызывает утверждение

2

Я установил этот NSAssert

NSAssert(isStillLoadingArgument== [[self class] stillLoading],@"Hmm.... we think isStill Loading is false or true and yet stillLoading is true");;

Вот скриншот, где я задаю этот вопрос: enter image description here

Затем, когда утверждение не удается, код ломается здесь:

enter image description here

Что очень раздражает, потому что я хочу увидеть разрыв утверждения в коде, вместо этого я установил утверждение. Итак, как мне это сделать.

Ответ Бен, к сожалению, не решает проблему: enter image description here

Ответ Бена действительно решает проблему. На втором изображении отладчик остановился на утверждении, он просто отличается от вашего утверждения. JeremyP
Какие вторые картинки? Нет остановки отладчика на главной. Если вы посмотрите на мой последний скриншот, я покажу, где находится ассорт. Отладчик (зеленая стрелка) находится на главном. user4951
Нижняя картинка.i.stack.imgur.com/fyIZI.jpg Как окно кода, так и вывод консоли показывают, что утверждение, на котором оно остановилось, отличается от вашего утверждения. JeremyP

Ваш Ответ

2   ответа
2

Когда утверждение не выполняется, оно вызывает исключение. Если ничто не перехватывает исключение, оно завершает программу после разматывания стека, оставляя его вmain().

Error: User Rate Limit Exceeded user4951
Error: User Rate Limit Exceeded user4951
Error: User Rate Limit Exceeded user4951
Error: User Rate Limit Exceeded
8

й.

1) Нажмите на точку останова навигатор

Breakpoint

2) Добавить точку останова исключения

Exception

3) Убедитесь, что вы установили его на все исключения

All

Теперь XCode вернется к реальному утверждению, а не к основному. Надеюсь это поможет!

Error: User Rate Limit ExceededNSAssertError: User Rate Limit ExceededdifferentError: User Rate Limit Exceeded
Error: User Rate Limit Exceeded user4951
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded user4951
Error: User Rate Limit Exceeded

Похожие вопросы