2016-04-14 25 views
0

Bir renk oluşturup [color isEqual:[NSKeyedUnarchiver unarchiveObjectWithData:[NSKeyedArchiver archivedDataWithRootObject:color]]]'u çalıştırırsanız, cevabın NO, en azından benim sınamasında 0 ve 1 arası değerler içeren değerlerde olduğunu görürsünüz. Yeni renk çok, çok yakın, ama en azından içsel temsili açısından eski renkle aynı değil. Belki de gerçek çıktı rengine sahip olsa da, sadece 8 bite ihtiyaç duyduğunu göstermek için 64 bit kullanıyor.Seri hale getirme/serileştirme işleminden sonra neden bir UIColor değeri değişir?

Herhangi bir fikrin var mı?

+1

Sorunuzu ilgili kod ile güncelleyin. Önce ve sonra değerleri göster. – rmaddy

cevap

0

Sanırım bu, serileştirildiğinde rengin temsiliyle ilgilidir. Şamandıra olarak gösterilebilir ve eğer öyleyse this olabilir. Kendi serileştirme işleminizi gerçekleştirirseniz, dizgeyi veya başka bir şeyi kullanarak bunu önleyebilirsiniz.