Xcode автоматически генерирует реализации классов для ваших сущностей NSMO - отлично.
Но нам часто нужно их настраивать. Если вы когда-нибудь забудете, что настроили эти файлы, Xcode с радостью «удалит» (перезапишет) и удалит весь ваш код.
Итак ... классический трюк заключался в том, чтобы:
- Создание объекта NSManagedObject в виде модели Apple
- Генерация классов
- Создание новых классов, которые используют категории для расширения исходных классов, добавляя измененное поведение
- Импорт пользовательских заголовков категорий, а не базовых заголовков NSMO, тем самым получая «новое» поведение
Это прекрасно работает: поместите пользовательский код в категорию, и когда вы автоматически генерируете файлы с использованием Xcode, вы никогда ничего не теряете.
Но ... теперь я использую код Bindings / Mac OS, и Bindings великолепны, но я понятия не имею, как заставить Binding "импортировать" производный заголовок (с категорией и измененными методами / custom). поведение)?
например. если у меня есть ArrayController (очень распространенный), который содержит экземпляры NSMO, вы обычно говорите ему «Имя сущности» (например, «MyCoreDataEntity»), и он запрашивает NSMO с этим именем класса. Но это никогда не загрузит категорию, поэтому она никогда не подберет настроенную версию класса.
Как вы справляетесь с этим? Либо: как вы загружаете в категорию-версию класса?
ИЛИ: как написать собственный код без использования категорий и ИЗБЕГАТЬ Xcode, удаляя весь ваш код, когда вам это нравится?