나는 현재 인터넷 연결이있는 경우에만 사용자가 게임을 할 수있는 게임을 코딩하고 있습니다. 인터넷 상태가 변경되면 모든 ViewController를 닫고 로그인 화면으로 돌아가고 싶습니다. 여기에 계층 구조는 다음과 같습니다도달 가능성 변경시 ViewController를 연속적으로 닫음
내 응용 프로그램 대리자로 LoginViewController을 보여줍니다.에서 여기
self.window.rootViewController = loginViewController;
[self.window makeKeyAndVisible];
사용자가 로그인 내가 연결을 확인하고 오류를 처리 로그인 상태. 로그인이 경우 성공 loginViewController는
[self presentModalViewController:self.mainViewController animated:YES];
그런 다음 mainViewController 등등 다른 컨트롤러를 제시 할 수있는 다른 컨트롤러를 제시하여 mainViewController를 제공합니다. 현재 및 취소 루틴이 올바르게 작동하고 있습니다.
도달 가능성 상태가 변경되면 알림을 표시하고 앱이 로그인 화면으로 돌아가도록하고 싶습니다. 이러한 알림을 듣고 적절한 조치를 취하는 방법을 알고 있습니다. 잘 문서화되어 있습니다 :)
로그인 화면에 다시 나타날 때까지 모든보기 컨트롤러를 닫으려면 어떻게합니까? 모든보기 컨트롤러에서 알림을 듣고 별도로 해제해야합니까? 부모 (예 : 앱 대리자)에서 알림을 수신하고 거기에서 모든보기 컨트롤러를 닫을 수있는 방법이 있습니까 (미리 모든 참조를 보유하지 않은 상태에서)?
분명히, 내가있는 navigationController을 사용하지 않는 것은 너무
[self.navigationController popToRootViewControllerAnimated:NO];
수 없습니다.
편집 : 또는 애플리케이션을 새로 시작한 것처럼 모든 것을 닫고 처음부터 다시 시작할 수 있습니다. 더 나은 접근 방법인가요? 내가 정확히 그것을 어떻게합니까?
감사합니다.
도달 가능성이 실제로 작동하면 더 좋을 것입니다. –
알림이 실제로 실행되면 알림이 실행되지 않습니까, 그렇지 않으면 알림이 불필요하게 실행됩니까? 나에게는 전자는 여전히 관리 가능하지만 후자는 앱 경험을 파괴 할 것이다. –
둘 다 구체적으로 들어갔지 만 작동한다고 생각하는 사람들의 불꽃 전쟁을 일으키는 경향이 있습니다. 검색이 불가능하여 검색 가능성에 관한 많은 토론이 있습니다. –