В чем разница между преобразуемыми и двоичными данными

Недавно я начал работать над основными данными, пожалуйста, кто-нибудь скажет мне, какая разница между преобразуемыми и двоичными данными. Мне нужно сохранить myClassObject в основных данных. Я создал атрибут и определил его тип как двоичные данные, но во время хранения я получаю ошибку.

Ответ 1

С двоичным атрибутом вы напрямую читаете и записываете экземпляры NSData.

С помощью преобразуемого атрибута вы читаете и записываете экземпляры любого класса, которые могут быть преобразованы в и из NSData. Фактическое хранилище данных совпадает с бинарным атрибутом, но Core Data использует NSValueTransformer для преобразования в/из NSData при необходимости.

Например, скажем, ваш управляемый объект имеет атрибут изображения, где было бы удобно читать и писать UIImage напрямую. Кроме того, UIImage не может быть сохранено в Core Data. Но UIImage можно преобразовать в и из NSData. Итак, если вы использовали преобразованный атрибут, вы могли читать и писать UIImage, сохраняя при этом NSData в хранилище данных.