인터페이스 빌더에 TableViewController가 내장 된 ViewController가 있습니다 (다른 곳에서 TableViewController의 기능을 재사용 함). UIViewController의 NavigationController를 사용할 수 있도록 임베드 된 UIViewController에 다시 TabelViewController의 델리게이트를 설정해야합니다 (삽입 된 TableViewController의 행을 클릭하면 새 ViewController가 나타납니다 ...).awakeFromNib에서 위임 설정하기
이 모든 작업을 수행 할 수있는 대리인이 있습니다. 유일한 문제는 위임자를 설정할 위치입니다. 펜촉을 읽고 IBOutlets가 모두 설정되면 awakeFromNib
이 호출된다는 것을 읽었습니다 (포함 된 TableViewController는 IBOutlet 임). 코드를 단계별로 실행하여 앱이 처음 시작될 때이 함수가 호출되는지 확인할 수 있습니다. 그러나 나중에 행을 클릭 할 때 대리자를 호출하면 대리자는 null
입니다. 위임자를 viewDidLoad
으로 설정하면 모든 것이 잘 작동합니다.
awakeFromNib가 작동하지 않는 이유는 무엇입니까? 어쨌든 viewDidLoad에서이 작업을 수행해야합니까?
감사합니다.