Подтвердить что ты не робот

Добавление настраиваемых методов в основные классы данных

Каков наилучший способ добавления пользовательских методов в мои основные классы, генерируемые данными?

Например, скажем, у меня есть объект Person с свойствами "firstname" и "lastname". Я хочу добавить метод "fullname", который возвращает конкатенацию свойств firstname и lastname.

Я мог бы добавить метод к сгенерированным файлам .h и .m, но это будет сложно поддерживать во время разработки, когда мои объекты могут все еще измениться. Воспроизведение файлов .h и .m приведет к перезаписи этих изменений. Другая идея заключается в подклассе сгенерированного класса и добавлении туда методов.

Есть ли лучший способ?

4b9b3361

Ответ 1

Я считаю, что лучший способ добавить настраиваемые методы, которые напрямую не связаны с свойствами данных, - это использование категории. Как правило, это лучше всего работает, если вы создаете объекты Core Data в качестве своих подклассов NSManagedObject в моделировании данных, но это может работать и без этого. Таким образом, весь код, сгенерированный машиной, может оставаться в основных файлах .h и .m, а весь ваш пользовательский код входит в .h и .m для вашей категории в этом классе.

Ответ 2

Я бы рекомендовал добавить эти методы в свой собственный подкласс NSManagedObject. Если вы беспокоитесь о том, чтобы поддерживать аксессуры по мере изменения вашей модели данных, сохраняя при этом свои собственные методы, я бы предложил посмотреть на "Wolf" Rentzsch mogenerator. Многие люди клянутся этим инструментом только для этой цели.

Ответ 3

Вы создаете свой собственный подкласс NSManagedObject для объектов.

Лучше объясняется в Документация NSManagedObject