Содержимое объектов NSManagedObject никогда не показывалось непосредственно в отладчике Xcode - PullRequest
0 голосов
/ 22 мая 2019

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

enter image description here

1 Ответ

1 голос
/ 03 июля 2019

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

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

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

...