2015-07-29 4 views
0

У меня есть два UICollectionViewControllers, а первый использует push-сег, чтобы перейти ко второму. Проблема, с которой я столкнулась, - передать информацию обратно первому контроллеру, когда на втором контроллере нажата кнопка «Назад» (тот, который добавляется автоматически). Я пробовал использовать функции segueForUnwindingToViewController и canPerformUnwindSegueAction, но не кубики. Мне нужно иметь доступ к обоим контроллерам, поэтому я могу установить некоторые переменные. Есть идеи?Передача информации между UICollectionViewControllers через unind segues

+0

Почему бы не использовать prepareForSegue и использовать его для установки некоторых переменных? –

ответ

0

Ниже приведен пример с двумя контроллерами. Предположим, что имена двух контроллеров представления и ViewController и SecondViewController. Давайте также скажем, что от SecondViewController до ViewController есть развязка. Мы передадим данные из SecondViewController в ViewController. Во-первых, давайте установим идентификатор этого сеанса, открыв контур документа и выбрав разматывание segue. Затем откройте инспектор атрибутов и установите идентификатор для «размотки».

SecondViewController Code: 


    class SecondViewController: UIViewController 
    { 
     override func prepareForSegue(segue: UIStoryBoardSegue, sender: AnyObject?) { 
     if let identifier = segue.identifier { 
     if let destination = segue.destinationViewController as? ViewController { 
      if identifier == "unwind" { 
      destination.string = "We Just Passed Data" 
    } 
    } 
    } 
    } 
    } 

ViewController Code: 

class ViewController: UIViewController { 
    var string = "The String That Will Be We Just Passed Data" 


    @IBAction func unwindSegue(segue: UIStoryBoardSegue) { 

} 
} 
0

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

Setting action for back button in navigation controller

Trying to handle "back" navigation button action in iOS

На практике это более ясно, чтобы вернуть состояние в закрытие (более современное) или делегатов.

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