Мне удалось сохранить здравомыслие в работе над моим проектом, который вырос за последние месяцы до довольно большого (количество классов), заставляя себя усердно практиковать Model-View-Control (MVC), плюс здоровое количествокомментарии и необходимый источник контроля (subversion, затем git).
В общем, я наблюдаю следующее:
"Модель" Классы, которые сериализуют данные (не имеет значения, откуда ивключая «состояние» приложения) в классе Objective C 1, подклассе из NSObject или пользовательских «модельных» классах, которые наследуются от NSObject.Я выбрал Objective-C 1.0 больше для совместимости, поскольку это самый низкий общий знаменатель, и я не хотел застрять в будущем при написании «модельных» классов с нуля из-за зависимости функций Objective-C 2.0.
Классы представления находятся в XIB с версией XIB, установленной для поддержки самого старого набора инструментов, который я должен поддерживать (поэтому я могу использовать предыдущую версию Xode 3 в дополнение к Xcode 4).Я склонен начинать с Apple, предоставившей Cocoa Touch API и фреймворки, чтобы извлечь выгоду из любой оптимизации / улучшения, которую Apple может представить по мере развития этих API.
Классы контроллеров содержат обычный код, который управляет отображением / анимацией представлений (программно, а такжеиз XIBs) и сериализацию данных из классов «модели».
Если я обнаружу, что повторно использую класс несколько раз, я изучу рефакторинг кода и оптимизацию (измеряемую с помощью инструментов) в то, что я называю "служебные "классы, или как протоколы.
Надеюсь, это поможет, и удачи.