Содержимое объектов NSManagedObject никогда не показывалось непосредственно в отладчике Xcode

Есть ли способ сделать контент для NSManagedObject видимые объекты без использования po или распечатайте описание для каждого атрибута в NSManagedObject объект ручным способом?

ht tps:https://stackru.com/images/6e6f0c8ff7865e7bb59edda467fe417252323c05.png

0 ответов

NSManagedObject является непрозрачным классом - как вы видите, единственный ivar, который у него есть, это указатель isa. Не зная, как это работает, вы не сможете получить реальные данные, которые он содержит. Вы из Свифта, но то же самое относится и к стороне ObjC...

Общее решение этой проблемы в lldb должно иметь форматирование данных lldb для NSManagedObject. lldb предоставляет это для других выдающихся непрозрачных классов. Например, именно так вы можете видеть элементы ObjC NSArray и NSDictionary, даже если в этих классах нет явных иваров, кроме isa. То же самое для многих стандартных библиотечных классов swift, таких как массивы и словари - хотя в случае быстрых классов есть некоторые ивары, они просто не очень поучительны.

У lldb в настоящее время нет средства форматирования данных для NSManagedObject. Никому, кроме Apple, будет сложно написать его, так как это будет зависеть от деталей реализации класса (которые меняются от выпуска к выпуску). Если такой форматер данных будет вам полезен, пожалуйста, отправьте запрос на улучшение на http://bugreporter.apple.com/.

Другие вопросы по тегам