我正在構建一個iOS應用程序,並試圖找出提供必要屏幕的最佳方法。第一次用戶打開應用時,處理顯示登錄屏幕的最佳方式是什麼?
的應用程序是一個基於選項卡的應用程序,但使用TabBar和它直到用戶已登錄過的孩子應該是不可見的。
目前,該應用程序代理設置tabbarcontroller作爲根視圖控制器時application:didFinishLaunchingWithOptions
是調用,然後如果需要,則標籤欄控制器中的第一個控制器將在視圖控制器中顯示標誌。
我使用這種方法的問題是,標籤欄中的第一個視圖控制器非常繁忙。它向外部API提出了一些請求,其中一些首先需要有效的會話令牌。
除非有人能提出更好的解決方案,否則我想要做的是檢查application:didFinishLaunchingWithOptions
是否有有效的會話ID。如果有,請將tabBarController設置爲rootViewController(如果沒有),請將控制器中的登錄設置爲根視圖控制器。
任何人都可以看到這個想法的任何陷阱?
這就是我現在要做的。這不是最好的方法,但API請求實際上只需要做一次,所以從viewDidLoad調用它們是理想的。 viewDidAppear太頻繁了。 – bodacious
... viewDidLoad僅被調用一次,並且它顯示SignInScreen – bodacious
我的意思是檢查您是否應該在viewDidAppear方法中進行這些API調用,創建一個bool值,指示您是否已經提出了這些請求並僅檢查其每次顯示屏幕都會顯示一個值,每次屏幕顯示時都沒有任何工作量 – Eugene