Я пытаюсь использовать консольный отладчик (LLDB) для вывода некоторых переменных, но довольно часто вывод не отображает никаких свойств переменной:

p _myObject или po _myObject (не работают)

Дает

(myApp.SomeEntity) $R2 = 0x00007fa4aad2fda0 {
  myApp.SomeParentEntity = {
    CoreData.NSManagedObject = {
      ObjectiveC.NSObject = {}
    }
  }
}

То же самое для других NSObjects, есть ли особый способ распечатать NSObjects в Swift?

8
Shizam 18 Ноя 2014 в 00:39
Этот ответ, безусловно, помогает stackoverflow.com/a/25065381/404409 Я до сих пор не нашел замену po, но выбор объекта в разделенной панели и нажатие пробела делают свое дело.
 – 
Jon Cox
5 Фев 2015 в 02:29

2 ответа

У меня была такая же проблема с проектом XCode 6 и Swift.

Наконец-то я нашел объяснение: в левом нижнем углу консоли отладчика у вас есть список меню с 3 вариантами:

  • Все выходные данные,
  • Вывод отладчика и
  • Целевой результат.

Чтобы увидеть po < variableName >, необходимо выбрать Все выходные данные или Вывод отладчика.

2
Claire 10 Июл 2015 в 11:33

Правильный способ:

po _myObject

Po - объект печати. Вы можете прочитать это

1
user1502383 18 Ноя 2014 в 09:15
3
Ни po, ни p не работают таким образом с NSObject в Swift.
 – 
Shizam
18 Ноя 2014 в 20:15