Я предлагаю хранить все ваши файлы .m, .h и .xib в одной папке, потому что он упрощает локализацию строк при запуске ibtool для извлечения всех ссылок NSLocalizedString, а также облегчает перемещение файлов вокруг int виртуальная структура папок в Xcode при реорганизации вашего проекта.
Храните сторонние библиотеки или фреймворки в отдельной папке, чтобы не смешивать их со своим собственным кодом.
Внутри самого Xcode я организовываю эти файлы классов в отдельные виртуальные папки под названием Views, Controllers, Model и Nibs (и библиотеки для сторонних разработчиков). Если это большой проект, я разбиваю его на папки для каждого компонента, а затем разбиваю их на представления, контроллеры и т. Д., Но опять же это только виртуальные папки, а не физические.
Сохранение ресурсов в отдельной физической папке - это хорошая идея, чтобы упростить просмотр их на диске. Это может иметь смысл разделить их на изображения, звуки, xml и т. Д. В Xcode вы можете разбить их на виртуальные подпапки по компоненту или категории (интерфейс, контент и т. Д.), Но я бы не предложил делать это на диске как это затрудняет реорганизацию структуры папок по мере роста вашего проекта.
Это действительно хорошая идея, чтобы сохранить все ваши изображения в одной папке, потому что это позволяет избежать случайного отображения двух изображений с тем же именем. Xcode не будет предупреждать вас, если вы импортируете два изображения с одинаковым именем из разных мест, но когда он будет создавать приложение, вы получите только одно или другое, выбранное наугад.
Вам не нужно сохранять Default.png и Icon.png в корне (или даже называть их Default.png и Icon.png), но иногда Xcode путается, если стандартные файлы не там, где они ожидаются.
И что бы вы ни делали, не пытайтесь использовать ссылки на синюю папку при импорте изображений, иначе вы не сможете получить к ним доступ из своего кода с помощью imageNamed: или в Interface Builder. Вместо этого используйте желтые ссылки на виртуальные папки. В основном синие папки копируются в пакет приложений как фактические папки при создании приложения, тогда как желтые папки игнорируются, а их содержимое переходит непосредственно в корневой каталог приложения. Чтобы получить доступ к содержимому в синих папках, вам нужно будет указать имена синих папок в пути при их загрузке, например.
NSString *path = [[NSBundle mainBundle] pathForResource:@"image" ofType:@"png" inDirectory:@"nameOfBlueFolderInXcode"];
UIImage *image = [UIImage imageWithContentsOfFile:path];
Я думаю, что это полностью зависит от вас, где вы должны его сохранить, а не для руководства или правила для структуры каталогов. – rishi
Я знаю, что нет никаких «строгих» правил по этому поводу, мне интересно, как люди структурируют свои проекты, вот и все :) – allaire
вы также можете обратиться к следующей теме форума iphone sdk - http://www.iphonedevsdk.com /forum/iphone-sdk-development/6457-xcode-folder-directories.html – rishi