Кто-нибудь знает, что новый значок выхода используется для редактирования раскадровки с использованием Xcode 4.5?

При щелчке правой кнопкой мыши по значку "Выход" появляется пустое окно. Не удается Ctrl-перетащить соединение с любыми элементами IB или соответствующими исходными файлами. Документы не дают любви. Не отображается в файлах nib, только раскадровки. Мое предположение заключается в том, что оно является следствием segues, но я не вижу никаких новых методов для его поддержки. Кто-нибудь?

Ответ 1

В видео WWDC много информации "Сессия 407 - Принятие раскадровки в вашем приложении".

Скажем, у вас есть два контроллера вида, связанных с помощью segue. Выполните следующее действие выхода на первом контроллере представления:

- (IBAction)done:(UIStoryboardSegue *)segue {
    NSLog(@"Popping back to this view controller!");
    // reset UI elements etc here
}

Затем, на сцену Storyboard для второго контроллера представлений, перетащите Ctrl из элемента пользовательского интерфейса, например кнопки, в значок выхода в нижней части этого контроллера представления. В качестве опции появится действие done:, добавленное в код первого контроллера. Теперь, активируя кнопку, которую вы перетащили Ctrl на значок выхода, появится на первый контроллер представления и сохранит свое исходное состояние (т.е. элементы пользовательского интерфейса, такие как ввод текста, предположительно, все еще нетронутыми).

Ответ 2

Мне пришлось нелегко следовать принятому ответу, поэтому более подробно.

Учитывая фотографию ниже на контроллере C просмотра, вы можете "вернуться" к любому контроллеру вида по пути segue.

enter image description here

ViewController A вы можете написать:

- (IBAction)done:(UIStoryboardSegue *)segue {
    // Optional place to read data from closing controller
}

ViewController B вы можете написать:

- (IBAction)back:(UIStoryboardSegue *)segue {
    // Optional place to read data from closing controller
}

ViewController C вы управляете перетаскиванием с "назад" на зеленый вариант выхода и выберите назад: ViewController C вы управляете перетаскиванием из "сделанной" кнопки к опции зеленого выхода и выберите done: enter image description here

Примечание. Несмотря на то, что методы находятся на других контроллерах представлений, они отображаются для выхода ViewController C. Управление перетаскиванием и выбор метода определяет, к какому ViewController нужно расслабиться.

Ответ 3

В дополнение к Eric ответьте здесь, как это работает с :

Функция, которую вы добавляете к контроллеру назначения, выглядит следующим образом:

@IBAction func backFromOtherController(segue: UIStoryboardSegue) {
    NSLog("I'm back from other controller!")
}