나인 경우 대표 대신 알림을 사용합니다. 즉 detailViewController 내에서 valueChanged를 사용하여 segmentedControl 값 변경을 감지 한 다음 masterViewController에서받는 detailViewcontroller에서 NSNotification을 게시합니다.
는
가장 쉬운 방법은 : 그것은 당신이 필요가 없습니다 알림과 함께 선택한 값을 전달하는 것이 더 계속 될 것
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(segmentOneChosen) name:@"segmentOneChosen" object:nil];
:
[[NSNotificationCenter defaultCenter] postNotificationName:@"segmentOneChosen" object:nil userInfo:nil];
당신이 알림에 등록 masterViewController 되세요 각 세그먼트에 대한 별도의 통지
!! 테스트되지 않은 코드 :
NSArray *keys = [NSArray arrayWithObjects:@"segmentChosen", nil];
NSArray *objects = [NSArray arrayWithObjects:[NSNumber numberWithInt:self.topicsChoiceSegControl.selectedSegmentIndex], nil];
NSDictionary * dict = [NSDictionary dictionaryWithObjects:objects forKeys:keys];
[[NSNotificationCenter defaultCenter] postNotificationName:@"segmentChosen" object:nil userInfo:dict];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(segmentChosen:) name:@"segmentChosen" object:nil];
-(void) segmentChosen:(NSNotification *)notification {
NSNumber *segmentChosenNum = [[notification userInfo] valueForKey:@"segmentChosen"];
}
본인의 질문에 대한 답변 자체는 아니지만 해결하려는 문제에 대한 대체 솔루션을 제공합니다.
더 자세히 설명해 주실 수 있습니까? 귀하의 질문을 이해한다면'MasterViewController'의'viewWillAppear'에'[tableView reloadData]'를 사용할 것입니다 – viral
_tableChoiceToDisplay와 Topic을 참조하는 헤더 파일과 구현 파일의 코드를 포함하도록 질문을 편집 할 수 있습니까? – ader