Добавление пользовательских методов удалить сердцевину классов данных

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

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

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

Существует ли лучший путь?

19
задан chris 24 December 2009 в 10:36
поделиться

3 ответа

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

40
ответ дан 30 November 2019 в 03:16
поделиться

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

1
ответ дан 30 November 2019 в 03:16
поделиться

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

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

0
ответ дан 30 November 2019 в 03:16
поделиться