2013-12-24 5 views
0

В моем приложении я создал вид контейнера (называемый ContainerViewController) в верхней части другого представления (называемый GameViewController, где я сохраняю логику игры и обратные вызовы api). У меня также есть другие представления и класс api. Мой контейнер содержит 3 views, и я пытаюсь передать некоторые объекты в один из моих контейнеров (VC1). Поскольку GameViewController подключен только к ContainerViewController (это означает, что нет segue, поэтому я не могу использовать prepareforsegue, и я не могу использовать presentViewController, так как они childViewControllers), я не могу передавать данные. Я также попытался просто получить значения из моего класса десериализатора (внутри vc1). Проблема в том, что VC1 вызывается раньше.Передача данных в childViewController из контроллера представления, который содержит контроллер представления контейнера

Мой вопрос в том, как я могу установить значения VC1 из моего обратного вызова внутри GameViewController? Это то, что выглядит моя раскадровка: enter image description here

Спасибо.

+1

Используйте 'NSNotificationCenter'. –

+0

Используйте протокол и делегат и посмотрите здесь: http://stackoverflow.com/questions/6168919/how-do-i-set-up-a-simple-delegate-to-communicate-between-two-view- контроллеры Если вы не знакомы с уведомлением, вы отправите много уведомлений, не удалив старый. –

+0

@JordanMontel, разве мы не должны использовать протокол и делегировать при передаче данных только назад? – Matt

ответ

1

Вы можете сделать это много способов:

1-й способ: Вы можете передать данные с помощью Notification.

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

+0

Спасибо за ответ. Я попробую и дам вам знать. – Matt

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