2013-01-10 27 views
10

Yakın zamanda çekirdek veriler üzerinde çalışmaya başladım, lütfen bana dönüştürülebilir ve ikili veriler arasındaki farkın ne olduğunu söyleyin. MyClassObject öğelerini temel verilerde depolamam gerekiyor. Özniteliği oluşturdum ve türünü ikili veri olarak tanımladım, ancak depolama sırasında hata alıyorum.Dönüştürülebilir ve ikili veriler arasındaki fark nedir?

+1

Hangi hatayı alıyorsunuz? Bu öznitelikte ne tür veriler saklayacaksınız? (Resmi veri tipini değil, verilerin iş görünümünü kastediyorum). –

+1

Bu yardımcı olur mu? http://stackoverflow.com/questions/3014498/what-can-i-do-with-an-transformable-attribute-type-in-core-data-on-the-iphone – trojanfoe

cevap

20

İkili bir öznitelikle, doğrudan NSData örneklerini okuyup yazıyorsunuz.

Dönüştürülebilir bir öznitelikle, NSData ürününe dönüştürülebilen ve herhangi bir sınıfın örneklerini okuyabilir ve yazabilirsiniz. Gerçek veri depolaması, bir ikili öznitelik ile aynıdır, ancak Çekirdek Veriler, gerektiğinde NSData'a dönüştürmek için NSValueTransformer kullanır. Örneğin, yönetilen nesnenin, UIImage doğrudan okunup yazılmasının uygun olduğu bir görüntü niteliği olduğunu varsayalım. Dışında, UIImage Çekirdek Verileri'nde kaydedilemez. Ancak UIImage, NSData'a dönüştürülebilir. Bu nedenle, dönüştürülebilir bir özellik kullandıysanız, UIImage'u okuyup yazabilir ve veri deposunda NSData'u saklayabilirsiniz.

+0

Tom, Dönüştürülebilir veriler korunur mu Harici depolama ile ilgili aynı NSData davranışı? (Harici depolama alanı, kullanıcı arabiriminde açıkça izin verilmemesine veya çekirdek veri deposunda görünmeye başlayan lekeler olmasına rağmen)? Belgeler, dönüştürülebilir özelliğin harici bir kayda veya uygulanacak kurallara kaydedileceğini kesin olarak belirtmez. Deneyiminizi paylaşabilir misiniz? –

+0

Tam olarak aynı soruya sahibim. "Harici Depolama" alanında depolanacak Dönüştürülebilir özellik türünde böyle bir seçenek yoktur. Bu varsayılan olarak açık mı, yoksa ne? –

İlgili konular