У меня есть некоторые мысли о том, как использовать подклассы NSManagedObject некоторых основных данных для обработки постоянных и непостоянных данных.
Допустим, у вас есть приложение с рецептами, отображающее список ваших собственных рецептов из CoreData, и в этом же приложении вы также можете искать рецепты других пользователей. Эти рецепты других пользователей, конечно же, взяты из API, и мы не хотим сохранять их в основных данных. Но вместо этого мы хотим, чтобы наша деталь рецепта View Controller действовала одинаково, будь то постоянный или непостоянный рецепт. Я, естественно, думаю, что тогда мы должны использовать ту же объектную оболочку для наших данных и позволить нашему контроллеру представления не замечать происхождение данных.
Проблема в том, что подклассы NSManagedObject не могут быть инициализированы вручную и должны быть вставлены в контекст. Это не подходит для рецептов других пользователей. С другой стороны, для наших собственных рецептов нам нужно, чтобы этот объект был вставлен в контекст.
У меня есть несколько решений, но мне бы очень хотелось узнать, что вы, ребята, думаете об этой проблеме.
Можете ли вы сказать, что это проблема реализации, и ее следует решить путем объединения обоих объектов данных в один объект? Например, переопределив все методы получения и установки для обработки как объектов coredata, так и объектов NSDictionary?
Или это проблема архитектуры, и вы могли бы решить ее, например, вложив NSManagedContext или используя несколько постоянных хранилищ (одно в памяти, а другое - в Sqlite)?