0

다른 모달보기 컨트롤러를 제공하는 시작보기 컨트롤러가있는 스토리 보드가 있습니다.느긋한 segue가 트리거되지 않음

말보기 컨트롤러 A는 startingViewController이고보기 컨트롤러 B는 모달로 제공되는보기 컨트롤러입니다.

B에서 A, ViewController A (ViewController B에있는 버튼뿐만 아니라)에서 unwind segue를 어떻게 트리거 할 수 있습니까?

버튼은 언 와인드 SEGUE을 수행하기 위해 작동하지만, 나는 그것을 수행하려고 할 때 프로그램 오류가 발생

[self performSegueWithIdentifier:@"ReturnToStart" sender:self] 

를 사용하여 :

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Receiver (<StartViewController: 0x1ed4b9b0>) has no segue with identifier 'ReturnToStart'' 

내가 이해하지 못하는 것은이다 언 와인드 segue 잘 모르겠다 모달보기 컨트롤러에서 단추를 누르면 작동하지만 다른 ViewController (식별자를 스토리 보드에서 올바른) 트리거하려고 할 때 segue 그냥 찾을 수 없습니다.

내 startingViewController에서 모든 segues에 액세스 할 수있는 방법이 있습니까? 아니면 근본적으로 잘못된 구조입니까?

답변

2

segue는 소스 View Controller에 속하기 때문에 그 오류 메시지가 나타납니다. Segues는 소스 뷰 컨트롤러에서 호출 할 수 있습니다.

당신이 SEGUE를 사용하지 않는, A로부터 viewControllerB을 해제하려면

, 그냥 사용

dismissViewControllerAnimated:completion: 
+1

덕분에, 내가 어떻게 든 모든 segues이 스토리 보드에 포함 된 모든 뷰 컨트롤러에서 액세스 할 수 있는지 생각했다. – BigAl

+2

감사합니다. Storyboard에 View Controller를 연결 한 경우에만'performSegueWithIdentifier' 메소드를 사용할 수 있다는 것을 알았습니다. 프로그래밍 방식으로 뷰를 인스턴스화 한 경우이 뷰를 사용해야합니다. – inorganik