2016-11-22 2 views
0

사용자가 이미 로그인되어 있는지 확인하는 가장 좋은 장소는 무엇이며 로그인 viewController를 건너 뛰는 첫 번째 앱 장면으로의 전환을 실현하는 방법은 무엇입니까?이미 승인 된 경우 로그인 장면을 건너 뛰고 다음 장면에서 곧장 시작하는 방법은 무엇입니까?

+1

의 사용 가능한 복제 (http://stackoverflow.com/questions/28628225/how-do-you -save-local-storage-data-in-a-swift-application) – Wez

+0

어떤 장면이 초기가 될지 결정하기 전에 userActive 검사를해야하기 때문에 로컬에서 일부 사용자 설정을 저장하는 것과 다릅니다 (NSUserDefaults 및 CoreData). –

답변

2

내 AppDelegate에서이 작업을 수행합니다. 내 주요 스토리 보드에서, 내 초기보기 컨트롤러 내 사용자가 로그인되어 있다고 가정 따라서, 내 AppDelegate에에 나는 내가 로그인 화면을 표시해야하는지 여부를 결정하기 위해 다음을 수행하십시오.

// Show login view if not currently logged in 
if (!currentUser){ 

    let sb = UIStoryboard(name: MainStoryboardId, bundle: Bundle.main) 
    let vc = sb.instantiateViewController(withIdentifier: loginViewControllerId) 

    vc.modalTransitionStyle = .crossDissolve 
    window.rootViewController = vc 
    window.makeKeyAndVisible() 
} 

PS, 그냥에서 코드를 변환 목표 -C ... 테스트되지 않았습니다.

+0

토드 존경! 나는 당신의 대답을 너무나 간단하게 생각한다 !!! 마이너스 하나의 추가 장면 :-) –

+0

당신이 좋아하는 것을 기쁘게 생각합니다. 당신이 그것을 사용하는 경우, 대답을 수락 자유롭게. – toddg

4

당신은 그런 일을 시도 할 수 :.

  • 당신의 FirstViewController에서 사용자가 로그인 한 경우 확인을 그렇다면, 당신은 LoginViewController을 누르지 경우는 MainViewController을 밀어 로그인 후 당신이 MainViewController 밀어 .

Splash 인터페이스를 복제하는 FirstViewController 인터페이스를 빌드 할 수 있으므로 로그인 전에 다른 viewcontroller가 있음을 사용자가 알 수 없습니다. 이처럼

[? 당신이 빠른 응용 프로그램에서 로컬 스토리지 데이터를 저장하려면 어떻게]

enter image description here

+0

와우, 앨런! 명확한 시각적 답변을 해주셔서 정말 고마워요. 내 친구 한 명이 내가이 스플래시 물건을 시험해 봐야한다고 말했고 나는 그가 무슨 말을하고 있는지 이해하지 못했습니다. –

+0

나는 진짜로 양쪽 답을 모두 옳게 표시하고 싶다! ;-) –

+0

사용자가 로그 아웃하는 경우 – myatmins