Как вы структурируете проект iPhone XCode?
Каковы хорошие способы создания групп/папок?
Я пробовал функцию (интерфейс для функции плюс модель и т.д.) с общей группой. Я также пробовал пользовательский интерфейс, модель и т.д.
Бывший держит все вместе, что прекрасно подходит для iPhone-парадигмы. Последнее означает, что я прыгаю немного больше.
Как вы думаете?
Ответы
Ответ 1
Стандартная структура каталогов Xcode MVC выглядит следующим образом.
-
CoreDatastrong > : содержит классы DataModel и Entity.
-
Расширение. Содержит один класс (расширения класса Java по умолчанию + расширения класса проекта.)
-
Помощник. Содержит классы сторонних разработчиков /Framework (например, SWRevealController) + классы Bridging (например, класс Obj C в проекте Swift)
-
Модель. Создайте класс singleton (например,.AppModel - NSArray, NSDictionary, String и т.д.) для сохранения данных. Здесь также выполняются синтаксический анализ и сохранение данных веб-службы.
-
Услуги. Содержит процессы веб-службы (например, проверка входа, HTTP-запрос/ответ)
-
Просмотр. Содержит раскадровку, LaunchScreen.XIB и классы просмотра. Создание подпапки Ячейки - содержат UITableViewCell, UICollectionViewCell и т.д.
-
Контроллер. Содержит логику или код, связанные с UIElements (например, ссылка UIButtons + щелкнуло действие)
Ответ 2
Это будет очень зависимым от проекта. В моем последнем проекте у меня были в основном виды, и поэтому я организовал представления по типу вида.
Ответ 3
Хотя у Джона есть точка, я на самом деле создал проект, чтобы продемонстрировать, что я считаю своей общей структурой проекта Xcode для небольшой или средней базы кода. Вы можете найти здесь.
Вот его схема:
- Источник - весь исходный код
- Учетная запись - связанные с учетной записью классы (классы, связанные с сеансом, логика учетной записи и т.д.)
- Приложение - классы, связанные с приложением. Делегат приложения, классы конфигурации и т.д.
- Основные дополнения - Расширения и подклассы, связанные с классами apple
- Утилиты - общие классы полезности. Полезные расширения, утилиты форматирования, классы удобства и т.д.
- Папки с элементами Element - папка для UIView, UITableViewCell и т.д.
- Локальное сохранение - локальный уровень сохранения. Все взаимодействия с локальной базой данных (область, основные данные)
- Репозитории - все связанные с моделью локальные логические константы
- Константы - все константы. URL, шрифты, цвета, ошибки и т.д.
- Модели - все модели (представление на стороне сервера). Мы также будем вводить здесь любую логику отображения объектов
- Модули. Здесь мы можем найти каждую часть приложения, деленную по функциональности
- Папки, основанные на модуле. Каждая папка содержит все контроллеры представлений, представления, делегаты и связанные с ними классы.
- Networking - Сетевой уровень приложения (например, классы, ответственные за взаимодействие с веб-службами)
- Услуги - Все связанные с моделью веб-логики
- Раскадровка - содержит все файлы раскадровки
- Ресурсы - любые дополнительные ресурсы, такие как носители, документы, файлы локализации и т.д.