Что делает этот метод, так это то, что сначала у вас есть пустая раскадровка, которая определяет, заполнили ли вы информацию в представлении входа в систему, если вы этого не сделали, это приведет вас к входу в представление. как только вы заполните это, вы go вернетесь к пустой раскадровке, чтобы увидеть, заполнено ли ваше представление входа в систему. если он заполнен, вы перейдете на главный экран. если пользователь удалит приложение и снова загрузит его, ему придется пополнять данные для входа в систему, в противном случае пользователю никогда не придется заполнять его заново. дайте мне знать, если вам нужно знать, как выйти.
Вам нужно будет создать файл viewcontroller, используя в верхнем левом углу File-> New-> File-> Cocoa Touch Class, и сохранить, где будет сохранено ваше приложение . назовите его AppContainerViewController
создайте другой файл, используя в верхнем левом углу File-> New-> File-> Swift File, и сохраните там, где ваше приложение сохранено. назовите его AppManager
создайте новую раскадровку и подключите ее к AppContainerViewController (правая панель под инспектором-> Пользовательский класс-> класс
В AppContainerViewController Введите только этот код
импорт UIKit
class AppContainerViewController: UIViewController {
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
AppManager.shared.appContainer = self
AppManager.shared.showApp()
}
// Do any additional setup after loading the view.
}
В AppManager введите этот код
import UIKit import Firebase
class AppManager {
static let shared = AppManager()
let storyboard = UIStoryboard(name: "Main", bundle: nil)
var appContainer: AppContainerViewController!
private init() { }
func showApp(){
var viewController: UIViewController
if Auth.auth().currentUser == nil {
viewController = storyboard.instantiateViewController(withIdentifier: "LoginViewController") // login view where you sign in
} else {
viewController = storyboard.instantiateViewController(withIdentifier: "ViewController") // Homw view
}
appContainer.present(viewController, animated: true, completion: nil)
}
}