2010-05-22 3 views
2

Я прежде всего веб-разработчик (ruby, python), который является новым для разработки iPhone. Раньше я занимался разработкой настольных систем в среде MS (C#), но никогда ничего на маке.Архитектура iPhone Views - поиск справки по определенной проблеме + общие советы

Я пытаюсь создать действительно простое приложение для iPhone, и я смущен тем, как работают представления в целом. Если кто-то может дать совет по моей конкретной проблеме, наряду с некоторыми ресурсами, где я могу узнать, как строить архитектуру iPhone в будущем, это было бы потрясающе. Я чувствую, что большая часть документации Apple, с которой я сталкивался, слишком специфична - мне не хватает фундаментального понимания того, как представления работают на iPhone.

Моя конкретная проблема выглядит следующим образом:

Мне нужен один вид, который отображает некоторые загруженное содержимое текста. Это представление, которое показывает, когда приложение загружается, и это довольно просто.

Тогда мне нужна область настроек (я уже решил, что не хочу использовать область настроек iPhone). На главной странице области настроек будут отображаться некоторые текстовые поля. Он также будет иметь таблицу с двумя строками. Каждая ячейка в этой таблице перенесет вас в другое представление, которое также имеет сгруппированную таблицу, используемую для мульти-выбора. Я подозреваю, что я могу повторно использовать ту же точку зрения для этих двух окончательных «подробных настроек».

В итоге:

  • страница настройки
  • главная страница
    • детальная настройка 1
    • детальная настройка 2

Любая помощь и консультации оценили ,

ответ

1

Похоже, у вас уже есть хорошее представление о том, как вы хотите, чтобы каждый из ваших экранов выглядел; это хорошее место для начала.

Что вы, вероятно, захотите сделать, это использовать Interface Builder для размещения объектов в каждом представлении (текстовые поля, кнопки и т. Д.), А затем для каждого представления должен иметь пользовательский контроллер представления (подкласс UIViewController) , Затем вы переходите к новому виду, делая что-то вроде:

MySettingsController *controller = [[MySettingsController alloc] 
    initWithNibName:@"SettingsView" bundle:nil]; 
[[self navigationController] pushViewController:controller animated:YES]; 

(при использовании навигационного приложения).

Если вы еще не, я рекомендую читать от Apple View Controller Programming Guide

1

Ну, есть много информации на страницах разработчиков от Apple: вы могли бы начать читать Your first iPhone application
Есть довольно много хороших сайтов с очень хорошим Информация как на какао и iPhone разработки:

  1. Cocoa with love
  2. iCode blog
  3. iPhone SDK Articles

и многие другие (Google - ваш друг в этом).

Несколько книг, которые мне нравились, - «Начало разработки iPhone3» и «Поваренная книга для разработчиков iPhone». Первый, вероятно, более полезен в начале (без каламбур)

Что касается конкретного случая приложения yuor, вы можете использовать навигационный контроллер для страницы настроек, и каждый раз, когда вам нужно погрузиться в детали, просто подтолкнет правый вид к стекю просмотра навигационного контроллера.

Таким образом, вы бы дизайн 4 представления с интерфейсом строитель

  • Главный вид
  • Настройки просмотра
  • Деталь 1
  • Detail 2

, а затем нажмите точку на навигационный контроллер.
Это довольно просто, я не буду вдаваться в подробности, но просто ищет что-то вроде «примера навигационного контроллера iphone» в google даст вам множество образцов, которые вы сможете легко адаптировать к вашим потребностям.

1

Некоторые рекомендации: несмотря на свою заднюю землю, не думайте о том, что в качестве страниц или приложения используется веб-сайт. Это вызовет проблемы в вашем дизайне, потому что технология отличается, а представления не работают, как веб-страницы, и приложения не работают, как веб-сайты.

Главное отличие состоит в том, что, хотя веб-страницы часто содержат фактические данные, нет. Объект view касается только отображения. Он не знает, что он отображает, и не сохраняет или логически манипулирует данными. Данные поступают в представление из контроллера представления, который сам получает его из модели данных.

См Cocoa Core Competencies: Modal View Controller

Rails использует MVC, если вы использовали, что с Ruby. Основные принципы одинаковы.

0

Все это были полезные ответы, в частности ссылки на Руководство по программированию iPhone View. Это помогло мне диагностировать мое непонимание, которое было связано с ролью диспетчеров просмотра, а также отношения между отдельными представлениями и контроллерами представлений. Я думаю, что часть моей путаницы возникла из изучения MVC в контексте Rails, где эти отношения совершенно разные.

Для других, которые ищут советы в этой общей области, я бы рекомендовал проверить лекцию 6 из курса разработки приложений iPhone iTunes U от Stanford от Winter 2010 «Проектирование приложений iPhone, Model-View-Controller, View Controllers» и лекций 5 & 7 если у вас есть время. Я думаю, это было тогда, когда копейка упала для меня, несмотря на то, что уже посмотрела на несколько из упомянутых здесь книг.

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