먼저, viewDidLoad
으로 직접 전화하지 마십시오. 아마 아무런 문제가 발생하지는 않지만, 기본 API만으로 호출되는 메소드를 남겨 두는 것이 가장 좋습니다. 일부 뷰 초기화를 configureViewForSettings
또는 그 라인을 따라 새로운 메소드로 이동하십시오.
최상의 방법은 위임을 사용하는 것입니다. 이는 일종의 데이터 또는 알림을 '상위'보기로 되돌려 보내야 할 때 가장 적합합니다. settingsViewChangedSettings:(MySettingsView *)settingsView
과 같은 방법으로 새 프로토콜 MySettingsViewDelegate
을 만듭니다. 그런 다음 설정보기 컨트롤러에서 id<MySettingsViewDelegate> delegate
속성을 추가하십시오. 설정이이 같은 대리자 메서드 호출 변경
: 설정보기 표시 생성/때,
[self.delegate settingsViewChangedSettings:self];
그리고 메인 뷰 컨트롤러는 위임
mySettingsView.delegate = self;
/* Display the settings view */
로 직접 설정
그 다음 어딘가 :
- (void)settingsViewChangedSettings:(MySettingsView *)settingsView {
/* Settings changed, refresh your view */
[self configureViewForSettings];
}