2016-07-01 2 views
1

모달 뷰에 탐색 모음을 표시하려고합니다. this answer에 따르면, 모달 뷰 nextScreenViewController을 특수 내비게이션 컨트롤러 nextScreenNavigationController에 삽입하여이를 수행하려고합니다.Swift : 대리자가있는 모달 뷰에 탐색 모음/위쪽 막대 표시

그러나 초기 viewController와 nextScreenViewController 사이에서 데이터를 전달하기 위해 대리자 패턴을 사용하고 있습니다. 있는 navigationController에 삽입하기 전에, 나는 다음과 같은 코드로 initalizing되었습니다

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { 
    if segue.identifier == "goToNextScreen" {  
     let nextScreenDelegate = segue.destinationViewController as! nextScreenViewController 
      nextScreenDelegate.delegate = self 
    } 
} 

Some research

그러나

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { 
     if segue.identifier == "goToNextScreen" { 
      let navigation: UINavigationController = segue.destinationViewController as! nextScreenNavigationController 
      var nextScreenDelegate = nextScreenViewController.init() 
      nextScreenDelegate = navigation.viewControllers[0] as! nextScreenViewController 
      nextScreenDelegate.delegate = self 
    } 
} 

... 내가 좋아하는 코드를 사용한다 nextScreenNavigationController을 설명하기 위해, 즉 실패 제안 충돌없이 - 데이터가 전달되지 않습니다.

내 대리자 패턴을 더 원한다면 의견을 보내주십시오. 기본 구현 문제가 아닌지 확인하고 싶습니다. 또는 모달보기에 탐색 모음을 표시하는 더 좋은 방법이 있습니까?

답변

0

죄송합니다. 위 코드가 작동한다는 것을 깨달았습니다. 내 문제는 navigationController 클래스를 스토리 보드에 nextScreenNavigationController 할당하지 못했기 때문입니다.

관련 문제