섹션 인덱스로부터 선택된 부분을 나타내는 NSInteger
를 반환 -tableView:sectionForSectionIndexTitle:atIndex:
UITableViewDataSource
위임 방법. 데이터 소스 대리자 (아마도 테이블 뷰 컨트롤러) 인 클래스에서이 메서드를 재정의하십시오.
보기 컨트롤러에서 속성을 설정합니다. NSInteger
은 selectedSectionIndex
입니다. 이 값은 앞서 언급 한 델리게이트 메소드 내에서 설정됩니다.
마지막으로보기 컨트롤러에 관찰자를 설정합니다.이 컨트롤러는이 속성의 변경을 기다리고 변경 사항이 관찰 될 때 원하는 코드를 트리거합니다. 예를 들어 당신의 -viewWillAppear:
방법에서
: 당신의 -viewWillDisappear:
방법에서
[self addObserver:self forKeyPath:@"selectedSectionIndex" options:NSKeyValueObservingOptionNew context:nil];
, 관찰자의 등록을 취소 :
[self removeObserver:self forKeyPath:@"selectedSectionIndex"];
그것은 -dealloc
방법은 아무튼 있도록이 작업을 수행하는 것이 중요합니다 ' 예외를 throw하지 않습니다. selectedSectionIndex
에 변경이있을 때 마지막으로
, 뭔가를 할 수있는 관찰자 방법을 설정 :
- (void) observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context {
if ([keyPath isEqual:@"selectedSectionIndex"]) {
// The section index changed, so trigger some cool animation
}
}
키 - 값 관찰 패턴이 때 개체의 값이 변경 어딘가에 뭔가를 트리거하는 것이 일반적인 방법입니다 . Apple은이 주제를 소개하는 좋은 "quick-start" document을 작성했습니다.
대단히 감사합니다. 정확히 내가 찾고있는 것 같습니다. – Michaeljvdw