2012-02-05 3 views
1

안녕하세요 저는 tabview 컨트롤러에 viewcontroller 있습니다. Tabview 컨트롤러의 뷰에서 데이터를 업데이트해야 할 때 NSNotification을 사용하여 플래그를 지정하기로 결정했습니다. 이전에는 각각 데이터 모델의 상태를 결정하고 그에 따라 업데이트 할 논리를 가지고있었습니다.뷰 컨트롤러가 완전히 초기화되기 전에 NSNotification이 호출되었습니다.

내 업데이트 코드는 위임 메서드를 호출하는 몇 가지 물건을 호출합니다. 알림을 사용하지 않을 때는 모두 작동합니다.

첫 번째 시도는보기 컨트롤러가 (적어도 viewDidload 이전에) 초기화되기 전에 선택기를 호출 한 것처럼 보였습니다. 특히 알림 선택기에서 업데이트가 실행되고 뷰 컨트롤러가 업데이트되지 않을 때 대리자 메서드가 호출되지 않았습니다. viewcontroller가 알 수없는 상태에있는 것 같습니다.

나는 테스트를 실행하고 viewDidLoad에 동일한 업데이트 코드를 넣었고 viewDidLoad가 호출 된 후에 만 ​​알림 코드를 호출했습니다. 이 작동합니다.

제 질문은 viewDidLoad 전에 호출되는 알림 선택기 메서드를 방지하거나 개체를 올바르게 초기화하지 못하게하는 또 다른 방법입니까? 코드의 전체 무리를 게시하는 것은 쉬워 있었다 않을 것이다 - 나는 등 전망 나는이 분명하다 희망

의 생성을 프로그래밍하고 있지 않다 그래서 나는 스토리 보드를 사용하고

.

+2

언제 알림을 수신하도록보기 컨트롤러를 등록합니까? – jrturton

+0

View Controller를 초기화 할 때 항상 업데이트 코드를 호출하지 않는 이유는 무엇입니까? 그런 다음 뷰 컨트롤러가 이미 초기화되고 자체를 업데이트해야하는 경우를 위해 특별히 NSNotification에 등록하십시오. –

답변

0

모두들 감사합니다. 앱 위임에 알림을 설정했습니다. 나는 viewDidLoad의 끝에 그것을 놓아야한다. 다음 업데이트가있을 때만 호출되며 개체를 시작하고 실행하기 전에 업데이트를 수행하는 첫 번째 알림을 중지하는 플래그가 필요하지 않습니다.

관련 문제