Что лучший способ состоит в том, чтобы добавить, что пользовательские методы для моих базовых данных генерировали классы?
Например, скажите, что у меня есть объект "Человека" со свойствами "firstname" и "lastname". Я хочу добавить "fullname" метод, который возвращает конкатенацию firstname и lastname свойств.
Я мог добавить метод к сгенерированному.h и.m файлам, но это будет трудно поддержать во время разработки, когда мои объекты смогут все еще измениться. Воссоздание.h и.m файла перезаписало бы эти изменения. Другая идея состоит в том, чтобы разделить сгенерированный класс на подклассы и добавить методы там.
Существует ли лучший путь?
Я нахожу, что лучший способ добавить пользовательские методы, которые напрямую не связаны со свойствами данных - это использовать категорию. Обычно это лучше всего работает, если вы создаёте свои сущности Core Data как собственные подклассы NSManagedObject в моделере данных, но он может работать и без этого. Таким образом, весь сгенерированный на машине код может оставаться в основных .h и .m файлах, а весь ваш пользовательский код - в .h и .m для вашей категории в этом классе.
Я бы рекомендовал добавить эти методы в ваш пользовательский подкласс NSManagedObject. Если вы беспокоитесь о поддержании аксессуаров по мере изменения модели данных, сохраняя при этом ваши пользовательские методы, я бы посоветовал обратиться к генератору "Wolf" Rentzsch's mogenerator. Многие люди клянутся этим инструментом как раз для этой цели.
Вы создаете свой собственный подкласс NSManagedObject для сущностей.
Лучше всего это объясняется в NSManagedObject документации