Mam kilka ząbkujących problemów z coredatą, ale czuję, że bardzo by to dla mnie wyjaśniono, gdyby ktoś mógł wyjaśnić mi kilka prostych spraw.Jak przechowywać CGRect i inne rzeczy w danych podstawowych
Chcę umieścić mój model w coredatach, aw najprostszym przypadku skorzystać z funkcji cofania/ponawiania. Rzecz w tym, że wszystkie przykłady, które widzę, przechowują albo ciągi, albo liczby całkowite. Co zrobić, jeśli mam klasy następująco że chciałem wdrożyć w danych podstawowych (wymyślonym przykładzie):
@interface Badge : NSObject {
NSString *textForBadge;
int badgeValue;
UIColor *color;
CGRect rect;
NSMutableArray *awards; // this would be a list of 'Category' - another custom class
}
Są to wszystko składa się na miejscu, ale każdy podświetlić zamieszanie
Jak widzę, otwieram plik .xcdatamodel i dodaję nową znaczek "Entity caled", który będzie oznaczał NSManagedObject
. Następnie dodam właściwość dla textForBadge
typu String
. Jak na razie dobrze. Robię coś podobnego dla badgeValue, ale potem przychodzę do UIColor
i CGRect
i jestem trochę zakłopotany, ponieważ nie ma dla nich właściwości. Czy mam utworzyć podmiot, który będzie reprezentował każdą (tj. Jednostkę Rect
, która ma cztery właściwości x,y,w,h
), które są ints? Następnie za każdym razem zapełniasz CGRect tymi intami? Ditto na UIColor?
Ostatecznie przejdę do mojej listy awards
. Jeśli są to listy wskaźników do wielu obiektów reprezentujących nagrodę, mogą zawierać obraz, kolor, tekst itp. Zakładam, że award
znowu będzie podmiotem, który muszę zaprojektować, a nie Badge
przechowywać tablicę, którą miałbym 1 do wielu relacji z niego do klasy Award
.
Czy otrzymuję coś w tym stylu, czy zmierzam w przeciwnym kierunku? Wszystkie przykłady, które widzę, działają na obiektach waniliowych, takich jak String lub int, więc chcę mieć pewność, że mam to w głowie, zanim zaimplementuję kilka rzeczy.
poważaniem,
Bryn
Link, o którym tutaj mowa, jest martwy. @AndrewMadsen –