Существует множество ресурсов, касающихся кодирования на iPhone. Большинство из них касается "как мне сделать X", например, msgstr "настроить контроллер навигации" или "загрузить текст с URL". Все хорошо и хорошо.
Сейчас меня больше интересуют вопросы, которые следуют за более простыми вещами - как лучше структурировать ваш сложный пользовательский интерфейс, или ваше приложение, или распространенные проблемы, которые возникают. Чтобы проиллюстрировать это: в книге, подобной «Начальная разработка iPhone 3», рассказывается, как настроить приложение с несколькими viewcontroller с верхним viewcontroller 'switcher', который переключается между представлениями, принадлежащими другим контроллерам представлений. Хорошо, но вы только сказали, как это сделать, и ничего о проблемах, которые могут последовать: например, если я использую их парадигму для переключения на UINavigationViewController, панель навигации окажется слишком низкой на экране, потому что UINavigationViewController ожидает быть самым верхним UIViewController (по-видимому). Кроме того, методы делегирования (например, относящиеся к изменениям ориентации) переходят к контроллеру вида верхнего переключателя, а не к фактическому контроллеру, отвечающему за текущий вид. У меня есть исправления для этих вещей, но они чувствуют себя как хаки, которые делают меня несчастным и заставляют меня чувствовать, что я что-то упускаю.
Одной из продуктивных вещей может быть просмотр некоторых проектов iPhone с открытым исходным кодом (см. этот вопрос ). Но кроме этого?
Обновление
Для пояснения: я полагаю, что то, о чем я спрашиваю, можно суммировать как «Рецепты и Gotchas для разработки iPhone». Такие вещи, которые представляют интерес для разработчиков, но не описаны ни в одной из книг по iPhone и т. Д., Которые я видел, например:
Я пишу приложение для iPad и хочу, чтобы UISplitViewController был представлен пользователю только в течение времени, что Apple, похоже, говорит, что я не могу этого сделать. Является ли это возможным? Как?
Apple не дает мне возможности стилизовать мое приложение удобным, универсальным способом (например, настройкой шрифтов или цветов). Как мне подойти к стилю моего приложения?
Управление памятью не облегчается некоторыми несоответствиями в именах методов UIViewController (например, viewDidUnload не противоположно viewDidLoad, несмотря на имя). Есть ли последовательный простой способ привести в порядок и сделать управление памятью контроллера представления менее подверженным ошибкам?
Как можно последовательно и легко проверить правильность поведения моих контроллеров представления при появлении предупреждения о памяти? В симуляторе легко смоделировать предупреждение о памяти, но если отображается пользовательский интерфейс, который я хочу протестировать (и является контроллером представления «конечного уровня»), его представление не будет выгружено, поскольку оно в настоящее время видно.
N.B. На самом деле я не задаю вышеупомянутые вопросы здесь - я думаю, что у меня есть достойные ответы на них! - просто приводить примеры «хороших» вопросов, иллюстрирующих этот вопрос о стекопереработке.