2016-11-17 1 views
0

스위프트 3에서 모달 뷰 컨트롤러를 열기 전에 데이터를 미리 채울 수있는 방법이 있습니까? 모달 뷰 컨트롤러가이 시점에서 존재하지 않을 것이라고 나는 생각하지 않는다.열기 전에 모달 콘텐츠 스위프트 미리 채우기

여기 내가 달성하려고하는 것입니다. 부모 컨트롤러의 내용을 필터링하는 데 사용할 데이터와 바인딩되는 테이블보기가 포함 된 모달이 있습니다. 부모 컨트롤러는 테이블 뷰에서 사용되는 모달로 데이터를 전달해야합니다 (모달 컨트롤러에 init을 사용하여 수행). 모달에서 부모에게로 돌아 가기위한 대리인이 있지만 모달의 콘텐츠는 항상 동일하므로 매번 다시 바인딩 할 필요가 없도록 모달 테이블보기를 데이터로 설정하는 방법을 찾고 있습니다. 그것은 다음과 같은 방법으로 열립니다.

func presentModal(){ 
    let modalVC = RoadwaysViewController(roadways: roadways) 
    modalVC.modalPresentationStyle = .popover 
    modalVC.preferredContentSize = CGSize(width: 300, height: 350) 
    modalVC.delegate = self 
    self.present(modalVC, animated: true) 
} 

이 문제는 도로가 항상 동일하므로 동일한 데이터를 반복해서 바인딩한다는 것입니다. 이 문제를 해결할 방법이 있습니까?

답변

1

은 모달 발표 뷰 컨트롤러에게 데이터를 보유 할 변수,

var data: [MyStruct]? 

를주고 당신은 그것의 대리자를 설정할 때 설정합니다. 또는 데이터 모델에서 가져올 데이터를 알 수 있도록 무언가를 제공하십시오. 데이터를 원할 때부터 가장 빠른 날짜를 전달하십시오.

+0

와우! 그렇게 단순하지 않을 것이라고 생각하지 않았습니다. 무리 감사. :) –