2017-09-14 3 views
1

보기 컨트롤러와 내비게이션 컨트롤러에 UISearchBar이 있습니다. Container View에 2 개의 ViewController가 추가되었습니다.컨테이너보기가있는 VC에서 ViewForward를 호출하기 전에 prepareForSegue가 호출됩니다.

변수를 컨테이너보기 및 컨테이너보기의보기 컨트롤러에 전달해야합니다. 그러나 prepareForSegue가 발생하기 때문에 나는 그것을 할 수 없다. 나의 주 VC의 viewDidLoad()보다 빠르다.

나는 내 컨테이너보기에 이러한 변수를 전달해야하지만, 이러한 변수가 viewDidLoad에없는 이러한 변수를 초기화 할

override func prepare(for segue: UIStoryboardSegue, sender: Any?) { 
    print("prepare for segue FirstViewController") 

    if segue.identifier == "mapViewContainer" { 
     let vc = segue.destination as! MasterMapViewController 
     vc.segmentControl = self.container 
     vc.resultsViewController = self.resultsViewController 
     vc.searchController = self.searchController 
    } 
} 

Picture

+0

시도해 본 내용을 표시 할 수있는 기회가 있습니까? 일부 코드? 정말 도움이 될 수 있습니다. – dfd

+0

이제 몇 가지 코드를 추가하겠습니다 : D – Persian

+0

컨테이너의보기 컨트롤러에 대한 참조를 보유 할 변수를 생성하십시오 ... prepareForSegue에서 해당 변수를'segue.destination' ...'viewDidLoad()'로 설정하면 해당 변수를 사용하여 포함 된보기 컨트롤러에서 데이터를 설정하십시오. – DonMag

답변

0

시도를 초기화하기 전에 prepareForSegue가 호출되는,하지만 prepareForSegue 방법 .

+0

네, 내가 한 것과 완벽하게 잘 작동합니다. 그게 문제가되는지 궁금 해서요? – Persian

+0

@Persian, 선택의 여지가 없습니다. 당신은 그것을하기 전에 segue를 준비해야합니다;] –

관련 문제