Добавленный атрибут iOS xcdatamodel имеет кавычку
Я только что перенес свою новую модель данных и добавил новый атрибут с именем "author_mail". Как бы я ни обнаружил при выводе моих записей:
attachments = "<relationship fault: 0xd2459c0 'attachments'>";
author = nil;
"author_mail" = nil; <-- ABNORMAL
category1 = World;
Я установил для author_mail строковый тип, но не думаю, что author_mail должен заключаться в кавычки. Я не знаю, связано ли это с моей миграцией, но не выдает никакой ошибки. Любая подсказка, с чего мне начать смотреть? Я ничего не нашел в интернете.
Результат хочу:
attachments = "<relationship fault: 0xd2459c0 'attachments'>";
author = nil;
author_mail = nil;
category1 = World;
Спасибо всем.
1 ответ
Это не ненормально, и это не значит, что вы думаете, что это значит. Расслабься, все в порядке.
То, что вы видите, является результатом вызова description
на NSManagedObject
, По умолчанию это как NSManagedObject
форматирует результат. Если имя ключа содержит не алфавитно-цифровые символы, оно ставит кавычки вокруг имени ключа. Вот как они решили это сделать. В следствии:
- Это влияет только на результат вызова
description
на объекте, что происходит, если вы звонитеNSLog
распечатать объект. - Это не означает, что кавычки являются частью имени ключа. Если вы попытаетесь установить значение для
author_name
вы обнаружите, что вы не должны включать кавычки, потому что они не являются частью имени.
Это не влияет ни на что, кроме печати объектов с использованием description
метод.
Вы можете и должны просто игнорировать это.
Если это действительно беспокоит вас по какой-то причине, создайте свой собственный подкласс NSManagedObject
и переопределить description
метод. Сделайте так, чтобы он печатался как угодно, с любым форматированием, которое вы хотите.