Подтвердить что ты не робот

Как вы смотрите или оцениваете выражение в xcode, например, прямое окно визуальной студии?

В MS visual studio мы просто щелкаем правой кнопкой мыши и добавляем часы.

Как это сделать в Xcode?

4b9b3361

Ответ 1

Используйте команду po в области отладки

Настроить точку останова в соответствующей области кода, а затем, когда программа остановится в точке останова, введите команды в консоли в области отладки. Соответствующая команда po (объект печати), за которой следует выражение, которое вы хотите оценить.

Если окно "Отладка" не отображается в XCode, вы можете показать его в верхнем меню:

'View' -> 'Debug Area' -> 'Activate Console' (XCode v8.x)

Пример

Чтобы оценить выражение типа var1/var2, где var1 и var2 оба являются двойными, введите в консоли следующее:

po var1/var2

Консоль вернет что-то вроде:

(double) $2 = 3.085 [no Objective-C description available]

Отображение свойств объекта

Вы также можете вернуть определенное свойство объекта, используемого в настоящее время в коде в этой точке останова:

po [bankInfo city]

И он вернет что-то вроде:

(id) $4 = 0x000069e8 Testville

Обратите внимание, что консоль не похожа на точечную нотацию и предпочитает квадратные скобки, когда это применимо. Например, это возвращает ошибку для меня:

po bankInfo.city

Надеюсь, это то, что вы искали.

Ответ 2

Ответ Gabe почти отсутствует, но отсутствует одна важная деталь: выберите Выход отладчика. По умолчанию нижняя опция установлена ​​на Target Output, поэтому команда po ничего не показывает.

Вот сэндвич-приложение из учебника, которое я отлаживаю:

eval expression screenshot in xcode

Будучи новичком xcode и исходящим из MS Visual Studio Background, я хотел точно, что ищет OP. Во время игры с ответом Гейба я выбрал Debugger Output и получил то, что хотел.

Ответ 3

Мои пожилые люди сказали использовать NSLog (@variable)..........

Ответ 4

Как я понимаю, вы хотели бы видеть, когда меняется переменная. Для этого сделайте точку останова и щелкните по ней правой кнопкой мыши и выберите Edit Breakpoint. Появится окно:

enter image description here

Убедитесь, что вы выбрали правильное действие, например Debugger Command или Log Message, и отметьте галочкой в ​​параметрах Automatically continue after evaluating. Таким образом, вы получаете какое-то действие (например, журналирование, звук и т.д.) И не останавливаетесь в точке останова.

Ответ 5

Если вы хотите узнать, когда изменяется переменная, используйте "watch":

  • Установите точку останова где-нибудь в соответствующем классе;
  • Запустите приложение в отладчике и оставьте его в точке останова; и
  • Перейдите к представлению "Переменные" в левой части нижней панели "Отладка" и щелкните правой кнопкой мыши на соответствующем объекте и выберите "Смотреть".

Например, здесь я остановился в точке останова в viewDidLoad и добавил "смотреть" для total:

Смотреть

(Это Swift, но то же самое верно и для Objective-C.)

Теперь, если я продолжу выполнение (введите описание изображения здесь), Xcode будет приостанавливаться всякий раз, когда это свойство изменится, и я могу видеть, в какой строке кода total меняется, трассировка стека, чтобы добраться до этой точки и т.д.

Ответ 6

Установите некоторые точки останова в начале цикла и функций. После того, как вы нажмете на кнопку точки останова (аналогично стрелке) в окне редактора, инструмент "Создание и отладка" будет включен. Затем вы можете перейти к отладчику, щелкнув значок отладчика. справа от окна отладчика будут видны переменные, которые будут видны, выберите self- > , затем переменная экземпляра ur будет устанавливать точку наблюдения. Нажмите на нее и выберите "watch variable". Будет установлена ​​триггерная точка, и вы будете уведомлены с помощью значение переменной при изменении.