2016-07-15 1 views
0

그래서 사용자가 탭 사이를 전환하면로드시 시간을 절약하기 위해 앱 델리게이트에서 모든 탭보기를 미리로드하려고합니다.Swift - App Delegate에서 다른 탭보기 미리로드

UITabBarController (특히 viewDidLoad)의 파일을 view controller에서 실행하려고했지만 운이 없었습니다. 내가 놓친 게 있니?

let this = self.view 
if let viewControllers = self.viewControllers { 
     for viewController in viewControllers { 
      let this = viewController.view 
     } 
} 
+0

뷰를로드하는 것에 대한 좋은 생각이지만 ViewController의 뷰를 가져 오면로드가 될 것이라고 생각하지 않습니다. 잠시 (예 : 데이터 다운로드) 소요되는 코드를 AppDelegate에 저장하는 것이 좋습니다. 레이블 등의 제목을 설정하는 것과 같은 간단한 작업은 오래 걸리지 않습니다. – penatheboss

+0

흠 ... 괜찮아요 ... webview에 로컬 html 파일을로드 중이고 html 내에 링크 된 사운드 파일 때문에 눈에 띄는 지연이 있습니다. – dwinnbrown

답변

0

시도 뷰 컨트롤러의 인스턴스를 ... 그리고

먼저 set the storyboard id of your view controller

:

let storyboard = UIStoryboard(name: "Main", bundle: nil) 
let vc = storyboard.instantiateViewControllerWithIdentifier("someViewController") 

참고 :이 가능하다 당신은 응용 프로그램에 코드를 삽입하는 경우 뷰 컨트롤러가 인스턴스화되지 않을 수 있습니다. 이 경우 첫 번째보기 컨트롤러에 코드를 삽입 해보십시오.

관련 문제