Im создание приложения, которое будет использовать модель Core Data. Я довольно новичок в Objective C, и мои обычные шаблоны проектирования на самом деле не применяются к Core Data и Objective C, по крайней мере, я не могу найти примеры, подтверждающие, что они будут.Дизайн шаблона для Core Data iPhone App
Я прошел через примеры Apple Developer и различные источники на межтрубках.
кажется, что использовать Core Data мне нужно передать managedObjectContext каждому из моих viewControllers, есть ViewController реализовать NSFetchedResultsControllerDelegate, а затем реализовать каждый из методов делать выборки, а затем реализовать
NSFetchedResultsChangeInsert
NSFetchedResultsChangeDelete NSFetchedResultsChangeMove NSFetchedResultsChangeUpdate
Это добавляет примерно 100+ строк кода в каждом ViewController и это 90% тот же код, я снова и снова писать. Плюс я должен пройти все вокруг и следить за его памятью.
На других языках я бы построил одноэлементную модель нескольких классов, в которой хранились методы для обслуживания и доставки данных по запросу, доступные из любого места. Кажется, я не могу принять такой подход в Objective C. Если мне нужно построить статический класс, который взял управляемый объектObjectContext и вернул мне то, что мне было нужно, мне все равно пришлось бы передавать managedObjectContext для каждого представления, и это не было бы асинхронно, когда я реализую методы делегата, которые просто вызываются, когда результат готов.
Надеюсь, что это имеет смысл и что кто-то может подтвердить, что нет другого разумного способа сделать это или помочь мне указать направление, чтобы оно было хорошо обернуто.
спасибо :)
Здесь был задан аналогичный вопрос, который также может быть полезен: http://stackoverflow.com/questions/1267520/where-to-place-the-core-data-stack-in-a-cocoa-cocoa- touch-application –