2016-10-09 3 views
5

В учебниках и примерах, которые предоставляют примеры кода, иногда я вижу, что файлы проекта в навигаторе проектов Xcode упорядочены группами по шаблону MVC («Представления», «Контроллеры», «Модель»), а в других случаях они организованы в группы по функциональности (например, «Вход», «Контрольный список»).Лучшая практика для структуры групп проектов Xcode?

Что касается iOS, есть ли соглашение Apple/рекомендация для этого? Какой должна быть лучшая практика?

+0

Возможного дубликат (https://stackoverflow.com/questions/3983144/how-do-you-structure-an-iphone-xcode-project) – Jaythaking

ответ

5

Я думаю, многие из них следуют за многими способами организации своей группы, кода и файлов. Я следую почти этому этому: (Снято из этого: How do You structure an iPhone XCode project?)

CoreData: содержит классы DataModel и Entity.

Расширение: Содержать один класс (по умолчанию расширение классов яблочных + класс проекта расширения.)

Helper:. Содержат классы Третьей партии/Каркасы (. Например SWRevealController) + Связующие классы (например, класс Obj C в проекте на основе Swift)

Модель: Создайте одноэлементный класс (например, AppModel - NSArray, NSDictionary, String и т. Д.) Для сохранения данных. Здесь также анализируются и хранятся данные по анализу веб-службы.

Услуги: Содержат веб-службы процессов (например, Логин Verification, HTTP Request/Response.)

Вид: Содержать раскадровку, LaunchScreen.XIB и просматривать классы. Сделать вложенные ячейки папки - содержит UITableViewCell, UICollectionViewCell и т.д.

Контроллер: Изолировать логики или кода, связанные с UiElements (например, ссылка UIButton в + щелкнул действие.)

Это может помочь вам также:

  1. http://akosma.com/2009/07/28/code-organization-in-xcode-projects/

  2. https://github.com/futurice/ios-good-practices/issues/28

  3. http://www.slideshare.net/MassimoOliviero/architecting-ios-project

0

Я на самом деле создал проект, чтобы продемонстрировать то, что я считаю свой идти к структуре проекта Xcode для малого или среднего кода. Вы можете найти его here.

Вот набросок этого:

  • Источник - Весь исходный код
    • счета - счета, связанные классы (классы сессии связанные, счет логики и т.д.)
    • Применение - Application- связанных классов. App делегат, классы конфигурации и т.д.
    • Основные дополнения - Расширения и подклассы, вытекающие из классов яблока
      • Утилиты - Общие утилиты классов.Полезные расширения, форматирование утилита, классы удобства и такая
      • папка элементов на основе - Папка для UIView, UITableViewCell, и т.д.
    • Local Постоянство - Локальный слой настойчивости. Все взаимодействия с локальной базой данных (области, ядро ​​данных)
      • Хранилище - Вся моделями, связанными с локальной логикой сохранения
    • Константы - Все константами. URL-адреса, шрифты, цвета, ошибки и т. Д.
    • Модели - все модели (представление сущности на стороне сервера). Мы также хотели бы бросить здесь любое отображение объекта логику
    • модули - Здесь мы можем найти каждую из частей приложения, разделенных по функциональному
      • модулей на основе папки - Каждая папка содержит все относящиеся к модулю вид контроллеров, мнения, делегатов и классы связанные с
    • сети - сетевой уровень для приложения (например, классы, ответственные за взаимодействие с веб-службами)
      • услуги - Все модели, связанные с веб-логические
  • Раскадровка - Содержит все раскадровки файлов
  • Ресурсов - [? Как структурировать проект iPhone XCode] Любые Additionaly ресурсы, такие как средства массовой информации, документы, файлы локализация и такого

 Смежные вопросы

  • Нет связанных вопросов^_^