2015-01-13 2 views

답변

1

이렇게하면 다른 사람에게 도움이됩니다. 나는 위임 프로토콜의 일종했다 :

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

을 그리고 메시지 전송 뷰 컨트롤러에 변수를 추가 : 더 세터가 없다하는 것입니다

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

(이 일을 더 신속한 방법을 ..하지만 SEGUE가 첫 번째 컨트롤러에서 시작하면 그 다음 내 부분에 너무 많은 자바의) 그리고 :

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

을 그리고 두 번째 컨트롤러에서 doAction: 방법을 실행합니다..

0

아니오 segue는 ViewController A에서 ViewController B 로의 하나의 전환을 정의합니다. segue에는 전환 이후의 평생 시간이 없습니다.

해당 기능을 수동으로 추가해야합니다. 예 : 위임 패턴을 통해

+0

그래서 어떻게 생각하나요? '첫 번째'보기 컨트롤러에서보기 컨트롤러를 닫는 버튼에 작업을 추가 할 수 있습니까? – javanut13

관련 문제