Имам някои мисли как да използвам подкласовете NSManagedObject на някои основни данни за обработка на постоянни данни и непостоянни данни.
Да приемем, че имате приложение за рецепти, показващо списък с вашите собствени рецепти от CoreData и в същото това приложение можете да търсите рецепти и за други потребители. Тези други потребителски рецепти, разбира се, са от API и ние не искаме да ги запазваме в основните данни. Но това, което искаме вместо това, е нашият контролер за изглед на подробности за рецептата да действа по един и същи начин, независимо дали му е дадена постоянна или непостоянна рецепта. Естествено смятам, че тогава трябва да използваме същата обвивка на обекта около нашите данни и да оставим нашия View Controller да бъде сляп за произхода на данните.
Проблемът е, че подкласовете на NSManagedObject не могат да бъдат инициализирани ръчно и трябва да бъдат вмъкнати в контекста. Това не е добре за рецептите на другите ни потребители. От друга страна за нашите собствени рецепти имаме нужда тези обекти да бъдат вмъкнати в контекста.
Имам предвид няколко решения, но наистина бих искал да прочета какво мислите вие по този проблем.
Бихте ли казали, че това е някакъв проблем с внедряването и трябва да бъде разрешен чрез обвиване на двата обекта с данни в един обект? Например чрез замяна на всички гетери и сетери за обработка както на обекти на Coredata, така и на обекти на NSDictionary?
Или това е проблем с архитектурата и бихте го разрешили, например като вложите NSManagedContext или използвате множество постоянни хранилища (едно в паметта, а другото Sqlite)?