익스텐션(Extensions)
메소드나 프로퍼티를 다른 클래스에게 추가하도록 해줌
extension UIViewController {
var contentViewController: UIViewController {
if let navcon = self as? UINavigationController {
return navcon.visibleViewController
} else {
return self
}
}
}
연결된 뷰컨트롤러가 네비게이션컨트롤러든 아닌든 상관없이 내가 보고자 하는 뷰를 가져올 수 있음
클래스에 맞는 메소드로 설계해야함
if let myvc = segue.destinationViewController.contentViewController as? MyVC
익스텐션 제한사항
모든 메소드나 프로퍼티를 다시 실행할 수 없음(재실행 개념 아닌 추가의 개념)
모든 프로퍼티는 computed property여야 함(어떤 것도 저장할 수 없음)
'iOS > 스탠포드 iOS 강의' 카테고리의 다른 글
[스탠포드iOS] 멀티쓰레딩(Multithreading) (0) | 2024.04.26 |
---|---|
[스탠포드iOS] 프로토콜(Protocol) (0) | 2024.03.27 |
[스탠포드iOS] 클로저(Closure) (0) | 2024.03.26 |
[스탠포드iOS] 메모리 관리 (0) | 2024.03.25 |
[스탠포드iOS] ViewController 생명주기 (0) | 2024.03.25 |