2012-07-06 4 views
1

주소록 App이 있다고 가정합시다. 그래서 주소 목록에서 지금과 같이 상세보기로 밀어 :스토리 보드를 사용할 때 모델 데이터를 언제 볼 수 있습니까?

  1. 사용자 내가의 모델 객체 contact을 설정
  2. SEGUE showDetailprepareForSegue:에서
  3. 를 호출 마스터 목록에서 셀 탭 내 백그라운드에서 contact 객체 변경, 상세 뷰가 AUT 때 ContactDetailViewController
  4. viewWillAppear 나는 이제 self.contact
  5. 에 대한 관찰자를 추가 전적으로 갱신 될 수 있습니다.
  6. viewWillDisappear에서이 관측기를 제거합니다 (대칭이므로 깨끗합니다). 내가 연락처를 설정

그러나, viewWillAppear:가 호출됩니다. 그래서 KVO를 다르게 설정해야하거나 updateView이라는 기능을 viewWillAppear에 호출해야합니다. 처음에는 KVO를 사용하여 이러한 호출을 제거하고자하기 때문에 약간 바보입니다.

+1

실제로 무엇을하려고합니까? 상세보기에서 변경 한 사항과 마스터 테이블보기를 동기화하십시오. – jrturton

+0

@jrturton'contact' 객체는 백그라운드에서 업데이트 될 수 있습니다. 이것이 내가 그것을 관찰하기 원하는 이유입니다. 그에 따라 내 대답을 업데이 트되었습니다. – Besi

답변

1

addObserver:...으로 전화 할 때 NSKeyValueObservingOptionInitial 옵션을 포함하고 싶습니다. 이로 인해 KVO는 관찰을 추가하는 동일한 호출에서 didChangeValueForKey: 통보 (즉, "초기"통보)의 등가물을 보내 게됩니다. 이 시점에서보기가 업데이트되어야합니다.

관련 문제