EEYatHo 앱 깎는 이야기

Swift ) 부모자식 뷰컨은 왜쓰는가 - EEYatHo iOS 본문

iOS, Swift

Swift ) 부모자식 뷰컨은 왜쓰는가 - EEYatHo iOS

EEYatHo 2021. 8. 24. 14:10
반응형

UI 컴포넌트를 만들 때 너무나도 당연히, UIView를 서브클래싱하고, addSubView로 써왔다.

 

그런데 왠걸?

 

UIViewContoller를 서브클래싱해서 만들어놓고, addChild 하는 코드를 보았다.

 

그래서 사용법을 따져보니,

 


 UIView 서브클래싱

 

삽입

pView.addSubView(cView)

 

제거

cView.removeFromSuperview()

 


UIViewContoller 서브클래싱

 

삽입

pVC.addChild(cVC)

pVC.view.addSubView(cVC.view)

cVC.didMove(toPatent: pVC)

 

삭제

cVC.willMove(toParent: nil)

cVC.view.removeFromSuperview()

cVC.removeFromParent()


와... 비효율 끝판왕;

왜 쓰는거지?


UIViewContoller로 UI컴포넌트를 만들 경우의 장점.

 

1. 생명주기를 가질 수 있다.

-> 좀더 self-contained하다.

 

viewDidLoad는 init으로 대체 가능하다.

하지만 viewWillAppear은 컨트롤러만 가질 수 있다.

 

 

2. 해당 컴포넌트를 child로 넣는 뿐만 아니라,

push / present 하는 까지 고려할 있다.

 


음.. 언제쓰면 좋을지 안떠오른다..

일단 알아만 둬야지.

Comments