В прошивке, мы обычно используем MVC - Model/View/Controller. Итак, если вы ищете аналог в мире iOS, вот и все. Если вы говорите, что вы действительно впились в MVC, и вы находите что-то очень неудовлетворительное, и поэтому хотите ввести другой шаблон, тогда это другой вопрос.
Итак, нет, логическое разделение обязанностей, которое вы видите в подходах, таких как MVC, не является излишним. Фактически, разделение классов «view» и «controller» является достаточно важным для всего, что мы делаем (например, подклассы UIView
, подклассы UIViewController
и т. Д.), Поэтому единственное, что вам действительно нужно сделать - это разработать соответствующие «модельные» классы и вы отправились на гонки.
Но, в ответ на ваш вопрос, вы обычно не используете отдельные целевые рамки для модели, представлений и контроллеров. Вероятно, это было бы излишним. Обычно вы можете отслеживать все через разумное использование групп/папок Xcode в вашем проекте. Обычно мы просто извлекаем материал в рамки для более технических или логистических причин (прямые просмотры, расширения приложений, обмен кодами между несколькими приложениями и т. Д. ... см. WWDC 2015 Building Modern Frameworks для обсуждения того, когда вы обычно используете фреймворки).
Но на вопрос MVC vs MVP или VIPER (или MVVM или что-то еще). Я бы посоветовал вам просто принять общий дух всех этих шаблонов (а именно разделение обязанностей) и применить его к вашему коду iOS MVC. После того, как у вас есть опыт работы с iOS под вашим поясом, вы можете переоценить этот шаблонный вопрос.
Даже если я выбираю MVC, я должен держать модель и вид/View Controller в одном проекте. Или создать другой проект (рамки в iOS) для модели? – Pragmatic
@Pragmatic - Нет, вы обычно не использовали бы отдельные рамки. См. Пересмотренный ответ. – Rob