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