Buduję aplikację, która będzie używać modelu Core Data. Jestem całkiem nowy w Objective C, a moje zwykłe wzorce projektowe tak naprawdę nie mają zastosowania w Core Data i Objective C, przynajmniej nie mogę znaleźć przykładów, które potwierdzą, że będą.Wzorzec projektu dla iPhone'a Core Data
Przeszedłem przez Apple Developer przykłady i różne źródła na intertubes.
Wydaje się, że wykorzystanie danych Core muszę zdać managedObjectContext do każdego z moich viewControllers, mają viewController wdrożenia NSFetchedResultsControllerDelegate a następnie wdrożyć każdej z metod robi pobrać, a następnie wdrożyć
NSFetchedResultsChangeInsert
NSFetchedResultsChangeDelete NSFetchedResultsChangeMove NSFetchedResultsChangeUpdate
dodaje około 100+ linii kodu w każdym viewController i to jest 90% ten sam kod jeszcze raz i jeszcze raz pisać. Poza tym muszę wszystko przekazać i śledzić jego ślad pamięci.
W innych językach chciałbym zbudować singletowy model kilku klas, który utrzymywałby metody utrzymywania i dostarczania danych na żądanie, dostępne z dowolnego miejsca. Wydaje się, że nie mogę przyjąć takiego podejścia w Celu C. Jeśli gdzie zbudować statyczną klasę, która zajęłaby obiekt managedObjectContext i zwrócił mi to, co było mi potrzebne, nadal musiałbym przekazać obiekt managedObjectContext do każdego widoku i nie byłby on asynchronicznie, podobnie jak w przypadku implementowania metod delegowania, które są wywoływane, gdy wynik jest gotowy.
Mam nadzieję, że to ma sens i że ktoś może potwierdzić, że nie ma innego rozsądnego sposobu, aby to zrobić, lub pomóc mi wskazać kierunek, w którym można to dobrze owijać.
Dzięki :)
Podobne pytanie zadawano tutaj, co może być pomocne: http://stackoverflow.com/questions/1267520/where-to-place-the-core-data-stack-in-a-ococoa-cocoa- touch-application –