#iphone #ios #coding-style
#iPhone #iOS #стиль кодирования
Вопрос:
сразу спасибо. Это мой первый вопрос, и я рад присоединиться к сообществу разработчиков iOS. У меня есть один объект core data (скажем, автомобиль). У меня есть контроллер представления вкладок с двумя вкладками — одна отображает все автомобили, а другая отображает все типы автомобилей (Chevy, Ford и т. Д.). Вопрос касается этого второго контроллера представления. Мой вопрос — хочу ли я получать все свои автомобили при загрузке вкладки, а затем передавать все соответствующие автомобили этого типа при выборе строки, или я хочу получать результаты после выбора строки, что означает, что у меня будет другой контроллер представления для каждого типа автомобиля?
ОБНОВЛЕНИЕ: у меня действительно есть два табличных представления. Второй с типами содержит список типов. Когда выбрана строка, мне интересно, должен ли я передавать соответствующие автомобили в этот VC или получать результаты?
Комментарии:
1. Возможно, вы захотите еще раз взглянуть на свои вопросы и ответы. Не забудьте принять и / или проголосовать за полезные для вас ответы! И удачи в этом сообществе iOS.
Ответ №1:
Я бы сказал, что вы используете 2 ViewControllers: 1 для всех автомобилей, а затем 1 для всех соответствующих автомобилей этого типа. Вы можете просто передать соответствующие данные (скажем, массив carmodels) из FirstVC (куда вы помещаете свой первоначальный массив cars или словарь, если хотите) во secondVC и соответствующим образом настроить свой внешний вид VC.
(Кажется, вы хотите работать с UITableView для этого, очень просто передавать сообщения такого рода в новый VC и в любом случае выполнять настройку, которую вы хотите)
Вы все найдете свои ответы на UITableView прямо здесь, в AppleDoc: http://developer.apple.com/library/ios/#DOCUMENTATION/UIKit/Reference/UITableView_Class/Reference/Reference.html
Объект UITableView должен иметь объект, который действует как источник данных, и объект, который действует как делегат; обычно эти объекты являются либо делегатом приложения, либо, чаще, пользовательским объектом UITableViewController. Источник данных должен использовать протокол UITableViewDataSource, а делегат должен использовать протокол UITableViewDelegate. Источник данных предоставляет информацию, необходимую UITableView для построения таблиц, и управляет моделью данных при вставке, удалении или изменении порядка строк таблицы. Делегат предоставляет ячейки, используемые таблицами, и выполняет другие задачи, такие как управление вспомогательными представлениями и выборками.
Одним из этих методов делегирования, которые вы ищете, является
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
Этот метод срабатывает при выборе строки в вашем TableView. В этом методе вы хотите вызвать и показать свой новый VC, и это также происходит, когда вы передаете соответствующие данные в этот новый VC. Тогда все остальное из вышеперечисленного останется в силе.
Удачи.