저는 여러 개의 viewController가있는 응용 프로그램을 가지고 있는데, 각 뷰 컨트롤에는 하나의 테스트가 표시됩니다. 현재 사용자는 개별적으로 진행할 수 있습니다. 그러나 사용자가 여러 개의 테스트 또는 모든 테스트를 선택할 수있는 마법사와 비슷한 기능을 구현하려고 시도하고 있으며 응용 프로그램은 차례대로 각 테스트를 반복하여 각 화면을 사용자에게 표시하고 사용자가 입력을 제출하면, 응용 프로그램은 다음 테스트로 순차적으로 이동합니다. 모든 테스트가 완료되면 사용자가 기본 화면으로 돌아갑니다. 내가 읽은 것부터 NSNotifications가 최선의 방법 일 것입니다. 그러나 저는 솔직히 이것에 새로운 것이고 도움이 필요합니다.iOS의 NSNotifications를 통해 한 번에 하나의 viewController를 호출하려고 시도했습니다.
[[NSNotificationCenter defaultCenter] postNotificationName:@"Test" object:self];
:
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(testChange:)
name:@"Test"
object:nil];
가 나는 또한 각각의 ViewController 실행이 완료되면, 그것은 다음과 같은 방법으로 알림을 게시하는 것을 알고 : 나는 마법사에게 선을 시작하는 방법이 있어야 실현
내 질문에 테이블에서 사용자가 선택한 뷰 컨트롤러가 10 개 또는 20 개 있고 이러한 선택 사항이 배열에 저장되어있는 경우 addObserver 메서드와 많은 수의 postNotifications를 호출해야합니까? 내가 뭘하고 싶은건 단순히 각 viewController (사용자가 선택한대로)를 살펴보고 사용자가 해당 viewController에 대한 입력을 완료하면 해당 viewController가 메시지를 보내야하며 사용자는 다음 viewController로 이동해야합니다. 모든 검사를 마친 후 기본 화면으로 돌아갑니다. 참고로, 각 ViewController (viewDidLoad) 메서드를 호출해야합니다.
내 질문에 혼란이 있으면 사과드립니다.
이것은 귀하의 질문에 대한 직접적인 대답이 아니므로 의견으로 게시하겠습니다. 나는 위임에 찬성하여 여기에서 통보의 사용을 강력히 반대한다. 부모 테이블 뷰 컨트롤러가 준수하는 일반 대리자 프로토콜을 만들고 각 자식 뷰 컨트롤러의 대리자로 할당합니다. 이런 식으로, 각 자식은 그것이 완료되면 위임자 (테이블 뷰 컨트롤러)에게이를 알릴 수 있으며, 그 시점에서이를 닫고 다음 하위 뷰 컨트롤러를 표시 할 수 있습니다. – nickbona