Xcode организация файлов и папок (основные модели данных - iPhone)

Я разрабатываю для iPhone, и преобладающий совет по автогенерации файлов из сущностей при использовании Core Data заключается в выборе файла *.xcdatamodel и создании нового файла (ов) и т.д. Это создает *. m и *.h в каталоге Ресурсы. Затем они перемещаются в каталог Classes или в подкаталог классов.

Однако при просмотре моего репозитория github я замечаю, что все файлы моделей, которые были автоматически сгенерированы вышеупомянутым способом, присутствуют в корне папки проекта (как если бы они были ресурсом).

Основная файловая структура может иметь или не иметь значения (я не уверен в этом), но я хотел бы сделать мой репозиторий менее дезорганизованным. Я вижу энтропию, когда проект становится намного больше, и есть больше файлов, с которыми можно бороться.

Итак, мой вопрос: существует ли способ организовать основную структуру файла, не запуская настройки проекта или способ, которым github видит проект?

Надеюсь, что это не совсем понятно, и я с нетерпением жду ваших ответов.

Ответ 1

Да, это возможно. Группы Xcode (желтые "папки", такие как ваши ресурсы) полностью независимы от файловой системы - они не представляют напрямую каталоги. Если вы выберете группу и перейдите в меню Файл → Получить информацию, вы можете выбрать базовый путь для этой группы файлов. Вы можете создать и выбрать новую папку с помощью выбора файла.

После этого все файлы в этой группе будут красными - Xcode больше не сможет найти их через новый путь. Используйте Finder (или Git), чтобы переместить их в новый каталог, и все должно быть хорошо.

По умолчанию Xcode помещает новые классы Managed Object в папку, в которой находится модель, поэтому новые ресурсы будут размещены там автоматически.

В качестве побочного я рекомендую Rentzsch Mogenerator для обработки создания класса управляемого объекта. Он разворачивает автоматически генерируемый код Xcode из вашего настраиваемого кода и затем автоматически обновляет код шаблона каждый раз, когда ваша модель изменяется (без потери собственного кода).

Ответ 2

Об этом больше обсуждается, включая ответ выше, в Как получить XCode для.... andyvn22 отвечает совпадению с приведенным выше, и есть и другие подходы, описанные там.