현재 iOS 응용 프로그램에 문제가 있습니다.
점진적인 로그인 패턴을 사용하려고합니다. 즉, 로그인을하지 않아도 일부 응용 프로그램에 액세스 할 수 있습니다. 사용자가 로그인을 필요로하는 UIView의 (컨트롤러)에 액세스하려고 할 때 사용자가 로그인이 필요한 모든 탐색 항목을 볼 수있는 모든 시간에탭 막대 컨트롤러 (스토리 보드)가있는 UIViewController에 대한 액세스 금지
- 는
- , 그들은 것입니다 다음과 같이
필수 기능은 UIAlertView로 로그인하라는 메시지가 나타납니다. (UIAlertView는 시작된 Segue 대상이 제한되어 있음을 앱이 인식하면 나타납니다.)
처음에는 지정한 초기화 프로그램 (initWithCoder)에서 사용자가 로그인했는지 확인하기 위해 NSUserDefaults를 검사 할 UIViewController 하위 클래스를 사용했습니다. 그런 다음 그 서브 클래 싱을 해제했습니다. 다음과 같이 제한했다 :
- 가있는 UIViewController, 즉있는 UITableViewController의 다른 서브 클래스를 사용할 수 없습니다 뷰를 서브 클래 싱 된 UIViewController에 사용자가 당연하다고 생각하면 나는 오류가 발생할 것 같은데, 이는 출연 한 후 UIAlertView가 와서
- 로그인
질문 요약 :.
내가 조건부 특정의 UIView (컨트롤러)들과의 UIViewController의 서브 클래스를 액세스하지 못하도록하는 방법을 알고 싶습니다 , 그 UIAlertView가 발생합니다.
업데이트 1
카테고리 및/또는 프로토콜이 실행 가능한 솔루션 일 수 있습니까?
업데이트 2
CodaFi는 사용자의 상태를 관리 할 수있는 좋은 솔루션으로 싱글을 지적했다.
구현 된 이제 사용자의 액세스를 제어하는 방법을 알아야합니다.
storyboards를 사용할 때 UIStoryboardSegue를 서브 클래 싱하는 가장 다양한 구현 방법과 perform 메서드에서 사용자가 제한된 UIViewController에 액세스하려고 시도하는지 확인합니다 (제한된 컨트롤러에 필수 상태를 지정하는 프로토콜 속성이있을 수 있습니다 : logged 입/출력). 그러나 여기에있는 함정은 스토리 보드 그래픽 편집기에서 UIStoryboardSegue의 클래스/하위 클래스를 선택할 수 없다는 것입니다. 나는 프로그램 적으로 할 수 있다는 것을 알고 있지만 IBActions를 추가해야하고 지루한 부분을 수행하는 메소드와 같이 지루한 것처럼 보일뿐 아니라 navigationController 및 tabbarControllers와 같은 방식으로 작동하지 않을 것이라고 생각합니다.
누구나 사용자의 탐색을 제한하는 실행 가능한 해결책이 있습니까? 내가 작성한 답변 탐색 모음 컨트롤러 사이의 계정 segues 고려하지 않기 때문에
업데이트 3
나는이 질문에 대한 답을 추가 한, 그러나 나는 아직도 답으로 간주. 그러나 그것은 어떤 사람들을 도울 수 있습니다.
싱글 톤이 작동 할 수 있습니까? 응용 프로그램에서 기본값을 관리하는 일종의 게이트 키퍼 단일 클래스입니다. – CodaFi
@CodaFi는 UITabViewController 및 UINavigationController 대표를 사용하여 플러스라고 말했습니다. – Till
WikiResearch를 한 후, 싱글 톤이란 말을 듣지 못했습니다. 어떤 종류의 상태 유지 객체를 의미합니까? 또한 스토리 보드를 사용하고 있습니다. UIStoryboardSegue를 확장하면 솔루션이 될 수 있습니까? – MrJD