2016-04-14 7 views
0

Если вы создаете цвет, а затем запустите [color isEqual:[NSKeyedUnarchiver unarchiveObjectWithData:[NSKeyedArchiver archivedDataWithRootObject:color]]], вы найдете ответ, который может быть НЕТ, по крайней мере, в моем тестировании со значениями от 0 до 1. Новый цвет очень, очень близко, но это не совсем то же самое, что и старый цвет, по крайней мере, с точки зрения его внутреннего представления. Возможно, он имеет тот же фактический цвет выхода, хотя, учитывая, что он использует 64 бита для представления того, что всего лишь 8 бит.Почему значения UIColor меняются после сериализации/десериализации?

Любые идеи?

+1

Обновите свой вопрос соответствующим кодом. Показывать значения до и после. – rmaddy

ответ

0

Я думаю, что это связано с представлением цвета при сериализации. Он может быть представлен как float, и если так, то может произойти this. Я думаю, вы могли бы избежать этого, если бы вы реализовали собственную сериализацию, используя строку или что-то еще.

Смежные вопросы