Как я могу отладить NSManagedObjects в отладчике XCode? - PullRequest
9 голосов
/ 02 июня 2010

Как вы получаете значения вашего Entity (подкласса NSManaged Object) в отладчике XCode? Я заблудился среди структур NSObject и _cd_XXX.

Ответы [ 3 ]

21 голосов
/ 02 июня 2010

Если вы выберете объект на панели переменных, а затем выберите «Печать описания в консоль» из контекстного меню, вы получите текстовый дамп объекта.

8 голосов
/ 02 июня 2010

В консоли отладчика введите

po [your_entity your_property]

Я действительно не знаю другого полезного способа, поскольку сущность может, например, быть неисправным, а также структура NSManagedObject не очень помогает, как вы уже заметили.

1 голос
/ 07 января 2017

Зайдите в окно отладчика, щелкните правой кнопкой мыши «Добавить выражение ...» и введите выражение, как оно будет отображаться в коде; Вы также можете набрать p <expression> в отладчике с аналогичным эффектом. Например, в моем случае:

managedObjectContext.registeredObjects.first?.value(forKey: "shifts") as? [Shift]

Если вы имеете дело с чем-то недифференцированным NSObject или NSManagedObject или подобным, то это может быть немного болезненно, и вы можете захотеть сбросить выражение, как описано в других ответах здесь, но если у объекта действительно есть надлежащий интерфейс (например, переменная имеет тип NSObject, но у объекта есть более специфический класс), тогда приведение его в отладчик, как правило, будет хорошо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...