У меня есть контроллер домашнего просмотра с ENSideMenu для бокового меню, а в контроллере домашнего просмотра у меня есть кнопка выхода.Я дал ENSideMenu MyNavigationController в качестве начального контроллера представления в раскадровке.
Я хочу сначала показать дом в приложении, которое работает нормально, но когда я прихожу с логина на дом, то дом не отвечает .. как только я подписываюзатем снова дом отвечает.
Вот мой код:
в appdelegate:
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
// Override point for customization after application launch.
let userId: String? = KeychainWrapper.standard.string(forKey: "Uid")
print("appdelegate userid \(userId)")
if userId != nil{
let mainStoryBoard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let homeVC = mainStoryBoard.instantiateViewController(withIdentifier: "HomeViewController") as! HomeViewController
self.window!.rootViewController = homeVC
}
return true
}
в loginButton in LogInVC:
let saveUserId: Bool = KeychainWrapper.standard.set(Uid ?? "", forKey: "Uid")
print("the userid is \(saveUserId)")
if (Uid?.isEmpty)!
{
print("login fail")
}
else{
DispatchQueue.main.async {
let homeVC = self.storyboard?.instantiateViewController(withIdentifier: "HomeViewController") as! HomeViewController
let appDelagate = UIApplication.shared.delegate
appDelagate?.window??.rootViewController = homeVC
}
}
в HomeVC:
func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
let nextViewController = self.storyboard?.instantiateViewController(withIdentifier: "MakePaymentViewController") as! MakePaymentViewController
self.navigationController?.pushViewController(nextViewController, animated: true)
let indexPathHome = indexPath.row
print("home collectionItem indexpath \(indexPathHome)")
}
@IBAction func signOutButton(_ sender: Any) {
print("signout tapped")
KeychainWrapper.standard.remove(key: "Uid")
}
@IBAction func sideMenuButton(_ sender: Any) {
print("in side menu")
toggleSideMenuView()
}
Я дал ENSideMenu MyNavigationController в качестве начального контроллера представления в раскадровке.
Мне нужен homeVc для ответа после входа в систему.пожалуйста, помогите мне решить проблему.