아미(아름다운미소)

[iOS] viewDidLoad에서 다른 뷰 컨트롤러로 이동 본문

랭귀지/SWIFT

[iOS] viewDidLoad에서 다른 뷰 컨트롤러로 이동

유키공 2018. 5. 31. 11:30
iOS 앱을 개발하다 보면 간혹 화면 진입 시 이벤트 화면 등의 다른 뷰 컨트롤러로 이동해야 하는 경우가 있습니다. 이럴 경우 뷰 컨트롤러 라이브 사이클 중 viewDidLoad에서 하는 것이 일반적인데, 이 경우 바로 이동되지 않습니다. 이후 viewWillAppear, viewDidAppear, layoutSubViews를 거쳐야 하기 때문입니다. 이럴 경우 DispatchQueue를 이용해 이동하면 됩니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
//Swift
override func viewDidLoad() {
    super.viewDidLoad()
    DispatchQueue.main.async {
    // 다른 뷰 컨트롤러로 이동.
    }
}
 
//Objective-C
– (void)viewDidLoad {
    [super viewDidLoad];
      dispatch_async(dispatch_get_main_queue(), ^{
        // 다른 뷰 컨트롤러로 이동.
    });
 
}
Comments