2016-03-30 3 views
0

У меня есть один tableViewController, который вызывает вызов API, получает данные, и я храню его в переменной sortedData, которая представляет собой массив, содержащий словари. После того, как пользователь нажимает на кнопку, NO переход не происходит, но я:Передача данных из одного tableViewController/Swift файла в другой, БЕЗ segues

self.tabBarController!.selectedIndex = 2; 

Теперь мне нужно, чтобы загрузить данные из этой sortedData переменной в новом tableViewController2, а также отображать его пользователю, однако я считаю нужным. Я искал по всему миру и не могу найти хороший способ добиться этого. babysteps был бы идеальным для меня, потому что я очень смущен, как это сделать.

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

+0

Пожалуйста, на самом деле прочитайте все ответы в дублированном вопросе. Фактически, часть одного из ответов (самый высокий приоритет) специально рассматривает этот *** точный *** сценарий. Кроме того, не редактируйте мета-комментарии в своих вопросах. – nhgrif

+0

Из наиболее ответного ответа на дублированный вопрос: * Мы также можем поделиться информацией между вкладками в 'UITabBarController'. * – nhgrif

+0

Извинения, я не был уверен, как с вами связаться. Я пропустил это. Спасибо! – Waffles

ответ

0

Есть ли какая-либо причина вы пытаетесь избежать перетекает? Вначале сложно обдумать, но может быть очень полезно, если вы новичок в iOS dev. Если вы можете понять, как рисовать segues от инспектора раскадровки, вы можете использовать метод под названием prepareForSegue, в котором вы указываете, какие данные вы будете передавать через segue другому viewController, а затем presentThatViewController.

Вы можете просмотреть NSNotificationCenter, в котором вы могли бы отправить уведомление своему приложению в firstTableViewController после того, как данные были получены и помещены в ваш массив storedData, а затем добавьте то, что называется слушателем, к secondTableViewController, скорее всего, в метод viewDidLoad. Представьте, что вы в доме с четырьмя комнатами, вы в одной комнате, а я в другом. Вы хотите нарисовать картинку на основе данных, которые я вам даю, но вы не можете этого сделать, пока я не «уведомил» вас или в этом примере не крикнул: «Эй, нарисуйте это!». Это намного более хакерский способ сделать это, и, хотя NSNotificationCenter - отличный инструмент в поясе разработчика, он делает вещи более сложными, чем использование segues, на мой взгляд.

+0

Я использую segues в течение большей части моего проекта, jus tin в этом случае это не имеет никакого смысла. пользователь выполняет поиск, отправляет запросы, а затем другая вкладка должна быть в фокусе, отображая результаты. там НЕ должна быть кнопка «назад» или что-то еще, поскольку существует несколько способов поиска. Когда у меня был сеанс, это выглядело плохо. – Waffles

+0

Ooooh Я вижу, поэтому вы делаете это с помощью tabViewController. Хотел бы я помочь больше, но я не слишком много касался tabViewControllers. Много удачи! –

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