Mam kilka myśli na temat wykorzystania podklas NSManagedObject podstawowych danych do obsługi trwałych danych i nietrwałych danych.Używanie podklas NSManagedObject do transportu trwałych i nietrwałych danych
Załóżmy, że masz aplikację do przepisywania, wyświetlającą listę własnych przepisów z CoreData, a w tej samej aplikacji możesz szukać także innych przepisów dla użytkowników. Te przepisy dla innych użytkowników są oczywiście z API i nie chcemy ich zapisywać w podstawowych danych. Ale zamiast tego chcemy szczegółowo opisać naszą recepturę, aby kontroler działał tak samo, albo otrzyma trwałą recepturę, albo nietrwałą recepturę. Naturalnie uważam, że powinniśmy użyć tego samego opakowania obiektu wokół naszych danych i pozwolić, aby nasz kontroler widoku był ślepy na pochodzenie danych.
Problem polega na tym, że podklas NSManagedObject nie można zainicjować ręcznie i trzeba go wstawić do kontekstu. To nie jest dobre dla naszych przepisów dla innych użytkowników. Z drugiej strony dla naszych własnych receptur potrzebujemy, aby ten obiekt został wstawiony w kontekst.
Mam na myśli kilka rozwiązań, ale naprawdę chciałbym przeczytać, co o nich myślisz.
Czy można powiedzieć, że jest to problem z implementacją i należy go rozwiązać, owijając oba obiekty danych w jeden pojedynczy obiekt? Na przykład przez przesłonięcie wszystkich modułów pobierających i ustawiających w celu obsługi zarówno obiektów coredata, jak i obiektów NSDictionary?
A może jest to problem z architekturą i można go rozwiązać, na przykład zagnieżdżając NSManagedContext lub używając wielu trwałych sklepów (jeden w pamięci i drugi Sqlite)?
To bardzo interesujące! Dziękuję za wskazanie tego. –
Nie można mieć relacji między obiektami, które nie są wstawione w kontekst, o ile wiem. – svena
Pewnie. Ale to nie zawsze ma znaczenie. –