Разработка приложений для iPhone - несколько новичков

Мне было поручено создать приложение, но у меня нет опыта в разработке iOS. У меня есть общие знания в области программирования, особенно с Java, JavaScript и PHP (я больше веб-разработчик, чем программист). В прошлом я занимался C, Xcode и другими языками и IDE, но я очень мало помню.

Я следил за учебными пособиями для разработчиков Apple Developer, и я нахожусь на уровне языка, где я пришел к остановке. В то время как я медленно продвигаюсь, изучая основы Objective-C, есть несколько вещей, которые я очень смущен в отношении разработки в Xcode, что различные учебники, похоже, полностью пропускают или просто подразумевают, что вы знаете, что делать, или некоторые просто останавливаются прямо перед той частью, с которой у меня возникают проблемы.

1) Раскадровка - да или нет?

Лучше ли начинать с пустого приложения и работать с файлы или создать шаблон (в моем случае приложение с вкладками) и работать с раскадрой?

2) Если вы используете раскадровку, мне все еще нужно иметь .xib?

Являются ли пользовательские интерфейсы больше похожими на глобальные шаблоны, которые реализуют контроллеры представлений?

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

3) Если вы используете раскадровку, откуда берутся исходные и исходные файлы?

Это, наверное, глупый вопрос. Я знаю, что вы можете просто добавить их через File → New, но я не знаю, как связать эти файлы с контроллером представления. Есть ли способ автоматически создавать файлы при добавлении контроллера в раскадровку?

Ответ 1

Поскольку вы только начинаете, вы должны использовать раскадровки, потому что он позволяет вам визуально и вне кода связывать разные контроллеры представлений (страницы на вашем приложении). Например, вы можете связать свой UITabbedViewController (часть, управляющую содержимым других вкладок) со страницами, представляющими содержимое разных вкладок. В принципе, ваша раскадровка будет иметь контроллер с вкладками в отношениях родитель-потомок с субконтроллерами. У вас должен быть один экземпляр каждого - контроллер с вкладками, управляющий экземпляром каждого содержимого и контроллера вкладок. Это то же самое независимо от раскадровки или xib, но вы можете подключить это более легко в раскадровке.

Вы все равно можете использовать файл .xib(nib) для таких вещей, как ячейки пользовательской таблицы, или в тех случаях, когда вы хотите отделить элемент представления или контроллер от раскадровки, где есть другие ограничения.

В раскадровке вы подклассифицируете класс контроллера на боковой панели в визуальном редакторе, введя свой подкласс, например, UITabbedViewController в "Custom Class". В вашем файле, связанном с "MyTabbedController", вы реализуете свои материалы.

Великая книга:

http://www.barnesandnoble.com/w/beginning-ios-6-development-david-mark/1113216077?ean=9781430245124

Удачи!

Ответ 2

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

Я предпочитаю не использовать раскадровку, просто отдельные xib файлы для каждого контроллера.

Если вы используете раскадровку, вы можете создавать xib файлы для других частей приложения, которые не связаны с SB, а контроллеры представления, которые задействованы в SB, имеют свой интерфейс, хранящийся в SB, то есть вам придется проектировать их там, в этом огромном файле раскадровки. Мне это очень неудобно.

Поскольку вы новичок в IB, я бы порекомендовал вам взглянуть на Auto layout. Теперь нет волшебства:)

Ответ 3

Чтобы ответить на пошаговое руководство:

  • Обычно я использую шаблон "Single View". Он обеспечивает все, что вам нужно для вашего первого взгляда, и может взять его оттуда. Это чистый сланец, но у этого уже есть тот первый вид, который будет точно таким же кодом в 99% приложений, которые вы делаете.

  • Нет, файл раскадровки - ваш xib. Вы использовали для создания нового xib для каждого нового макета, но затем Apple представила раскадровки. Раскадровка - это в основном все ваши xib в одном файле. Вместо того, чтобы создавать новый xib, перетащите новый объект ViewController в документ. У вас обычно есть только один файл раскадровки или 2, если вы хотите поддерживать как макеты iPhone, так и iPad.

  • Я не думаю, что вы можете создать его исходные файлы автоматически, но его довольно легко подключить вручную.

Выберите ViewController, который вы хотите подключить к исходным файлам, нажав на эту черную полосу под ним. Затем перейдите на панель сбоку и перейдите на эту панель:

enter image description here Там вы вводите имя своего пользовательского подкласса ViewController, где я установил "MyViewController". Надеюсь, что это поможет!