Да, я бы рекомендовал создать Color сущность и ко-многим colors
от вашего Entity к Цвет.
Если это статический список предварительно определенных цветов, вы можете создать объекты цвета , когда создается постоянное хранилище. Кроме того, вы можете «найти или создать» объекты цвета при запуске приложения.
Если Color объект имеет атрибут name
, вы можете найти объекты, имеющие цвет с
[NSPredicate predicateWithFormat:@"ANY colors.name = %@", @"red"];
Для проверки двух цветов, вы можете использовать либо
[NSPredicate predicateWithFormat:@"(ANY colors.name = %@) AND (ANY colors.name = %@)", @"black", @"green"];
или (I надеемся, что это правильно :-):
NSArray *colorNames = @[@"black", @"green"];
[NSPredicate predicateWithFormat:@"SUBQUERY(colors, $c, $c.name IN %@)[email protected] >= 2", colorNames];
Вы также можете (при необходимости) добавить атрибут UIColor color
в запись Color, различные стратегии описаны в «Non-standard Persistent Attributes» в Руководстве по программированию основных данных.
Спасибо за ваш совет! – Pierre