У меня есть несколько проблем с прорезями с coredata, но чувствую, что это сильно раскроет мне ситуацию, если кто-нибудь сможет объяснить мне некоторые простые случаи.
Я хочу поместить свою модель в coredata, и в самом простом случае используйте undo/redo. Дело в том, что все примеры, которые я вижу, имеют тенденцию хранить либо строки, либо целые числа. Что делать, если у меня есть класс следующим образом, который я хотел реализовать в основных данных (пример:):
@interface Badge : NSObject {
NSString *textForBadge;
int badgeValue;
UIColor *color;
CGRect rect;
NSMutableArray *awards; // this would be a list of 'Category' - another custom class
}
Все они составлены на месте, но каждый из них выделяет путаницу
Как я вижу, я открою .xcdatamodel и добавлю новый привязанный "Значок", который будет NSManagedObject
. Затем я добавляю свойство для textForBadge
типа String
. Все идет нормально. Я делаю что-то похожее для badgeValue, но потом приходим к UIColor
и CGRect
, и я немного тупик, поскольку для них нет свойства. Должен ли я создавать сущность для представления каждого (т.е. объект Rect
, который имеет четыре свойства x,y,w,h
), которые являются ints? Затем каждый раз заполняйте CGRect этими ints? Тоже для UIColor?
Наконец, я прихожу в список awards
. Если это список указателей на ряд объектов, представляющих награду, они могут содержать изображение, цвет, текст и т.д. Я предполагаю, что award
снова будет сущностью, которую я должен создать, а не Badge
для хранения array У меня было бы от 1 до многих отношений от него до класса award
.
Получаю ли я это право или собираюсь конкурировать в противоположном направлении? Все примеры, которые я вижу, работают с такими ванильными объектами, как String или int, поэтому я хочу, чтобы у меня было это прямо в голове, прежде чем реализовать кучу вещей.
С уважением,
Брина