У меня есть проект с существующими пользовательскими моделями, которые получают данные из API остальных (или nsurlcache) в формате JSON, но теперь мне нужно добавить модель CoreData. Я получаю противоречивую информацию о том, как лучше «объединить» мои модели с новыми CoreData NSManagedObject.
Какой самый разумный и чистый подход для этого?
Некоторые проблемы, с которыми я сталкиваюсь, состоят в том, что моя пользовательская модель сначала была / была структурой, а не классом, хотя это не такая большая проблема.
Далее следует тот факт, что у меня здесь много «сохраненных свойств», и у меня возникают проблемы с их созданием в расширениях моделей CoreData. Мне нужно иметь их (или их замену), потому что есть много пользовательских форматированных данных, которые будут избыточны для добавления в модель CoreData, но в настоящее время существуют очень четко как свойства. Я пытался добавить это в основной файл класса, однако во многих местах я читаю, что лучше всего создать собственный класс расширения (даже не изменяя автоматически сгенерированное расширение заглушки). Я получаю ошибку, однако, что я не могу добавить сохраненные свойства к расширениям. Должен ли я просто прибегнуть к изменению всех этих функций? Это кажется грязным.
И, наконец, в целом, как мне поддерживать организованность моих моделей с этого момента? Должны ли все мои пользовательские функции храниться в моем собственном (не сгенерированном автоматически) файле расширения? Файлы расширения обычно создаются по одному на модель или кластер (если они короткие и связанные модели)? Нужно ли что-нибудь добавлять вручную в + CoreDataClass или + CoreDataProperties?