2015-01-13 1 views

ответ

1

Так что в случае, если это полезно кому-либо еще; Я сделал какой-то протокол делегата:

protocol JNCommunicationDelegate { 
    func doAction(sender: AnyObject, message: AnyObject) 
} 

А потом добавил переменную в контроллере представления, который посылает сообщение:

var communicationDelegate: JNCommunicationDelegate? 
func setCommunicationDelegate(delegate: JNCommunicationDelegate) { 
    self.communicationDelegate = delegate 
} 

(более Swift способ сделать это было бы не иметь сеттер .. но это просто слишком много Java с моей стороны) И тогда, когда начинается переход в первом контроллере:.

override func prepareForSegue(segue: NSStoryboardSegue, sender: AnyObject!) { 
    let destination = segue.destinationController as MyViewControllerController 
    destination.setCommunicationDelegate(self) 
} 

а затем запустить doAction: метод из второго контроллера.

0

no a segue определяет ОДИН переход от ViewController A к ViewController B. Сегге не имеет жизни за этот переход.

Вы должны вручную добавить эту функциональность - например. через шаблон делегирования

+0

Так как же я могу это сделать? Могу ли я добавить действие к кнопке, которая отклоняет контроллер вида в «первом» контроллере? – javanut13

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