Большинство людей не используют подход KVC, который я видел;Я не, по причинам, которые вы описываете.
Чтобы сохранить ваше здравомыслие, используйте Mogenerator для создания ваших аксессоров:
http://rentzsch.github.com/mogenerator/
Это инструмент командной строки, который генерируетпрокси-объекты, которые можно использовать для извлечения объектов CoreData, с некоторыми удобными методами, но, что еще лучше, некоторые наложения категорий, к которым можно добавить свои собственные методы, не будут уничтожены при повторном создании классов из модели данных.
XCode также может генерировать объекты данных из вашей модели, но классы более просты (только методы доступа), и я думаю, что mogenerator проще использовать повторно (что важно, поскольку вы будете склонны много менять модель с течением времени).Возможно, следующий XCode будет лучше в этом отношении.
Я обычно генерирую все классы модели данных в подкаталоге под названием Classes под названием «DataObjects» - тогда вы можете просто заново добавлять весь этот каталог каждый раз, когда вы восстанавливаете классымодель данных, которая приводит к созданию новых классов (когда у вас есть новые сущности).Пример запуска командной строки выглядит следующим образом:
mogenerator -m ../MyProject.xcdatamodeld/MyProject-v1.xcdatamodel
, который генерирует классы в текущий каталог из данной модели данных (в этом случае у меня есть версионная модель только с первой версией).