2016-10-28 11 views
0

에서 컨트롤러를 팝업합니다,하지만 난패스 데이터는 내가 스위프트의 팝업 컨트롤러를 만들 스위프트

코드 (팝업으로 설정 레이블 텍스트를) 팝업으로 부모 컨트롤러에서 데이터를 전달할 수 없습니다 :

let popUpPreload = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "popUpOneID") as! PopUpViewController 
popUpPreload.delegate = self 
popUpPreload.lbTitlePopUp.text = "title" 
popUpPreload.tvIntructions.text = "intructions" 
self.addChildViewController(popUpPreload) 
popUpPreload.view.frame = self.view.frame 
self.view.addSubview(popUpPreload.view) 
popUpPreload.didMove(toParentViewController: self) 

설정 레이블 팝업 텍스트에 오류가 있습니다.

나는 당신은 그것의 콘센트에 속성을 설정하려고 즉시 다음 스토리 보드에서 어떤의 ViewController를 인스턴스화 할 수 link

+0

어떤 오류가 발생합니까 –

답변

1

에서 참조하십시오. ViewDidLoad가 호출 될 때까지 모두 0입니다. 인스턴스화 뷰 컨트롤러를 호출하면 XML을로드하고 ViewController 및 모든 하위 뷰를 만든 다음 키 - 값 관측을 사용하여 모든 아웃렛을 뷰에 설정합니다. 그런 다음이 프로세스가 완료되면 ViewDidLoad를 호출합니다.

대상보기 컨트롤러에서 일반 변수에 작성해야합니다.

let popUpPreload = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "popUpOneID") as! PopUpViewController 
    popUpPreload.delegate = self 
    popUpPreload.titleText = "title" 

은 그 다음의 ViewController의 viewDidLoad에 기능에서 당신은 당신의 변수에 label.text로 출구 속성을 할당합니다.

var titleText = "" 
    override func viewDidLoad() { 
     super.viewDidLoad() 
     label.text = titleText 
    } 
+0

정말 고마워요! – Humyl