<分区>
所以这里需要我已经有功能来检查用户是否登录。
所以我需要有一个叠加层,如果用户已经登录,它会弹出,并且会有一个按钮,可以导航到特定的屏幕,该屏幕有一些表格要填写。
如果用户已登录并且没有来自表单屏幕的这些信息,则他应该被阻止。
调用和使用该叠加层的最佳方法是什么?
<分区>
所以这里需要我已经有功能来检查用户是否登录。
所以我需要有一个叠加层,如果用户已经登录,它会弹出,并且会有一个按钮,可以导航到特定的屏幕,该屏幕有一些表格要填写。
如果用户已登录并且没有来自表单屏幕的这些信息,则他应该被阻止。
调用和使用该叠加层的最佳方法是什么?
最佳答案
因为您没有发布如何检查用户是否已登录,所以我展示了我该怎么做。使用访问 token 。所以在 appDelegate application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool
if token != nil {
if requestManager.instance.user.birthDate != nil && !requestManager.instance.user.iscomplete(){
print("GOING TO DATANC")
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let initialViewController = storyboard.instantiateViewController(withIdentifier: "TabBarVC")
self.window?.rootViewController = initialViewController
self.window?.makeKeyAndVisible()
}else{
print("GOING TO REGISTER")
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let initialViewController = storyboard.instantiateViewController(withIdentifier: "register")
//loginRequest.instance.delegate = initialViewController as profileViewController
self.window?.rootViewController = initialViewController
self.window?.makeKeyAndVisible()
}
}
所以这里所做的是检查用户是否有生日和所有信息。 iscomplete 是模型中的函数,在所有值都已设置的情况下返回 true。如果完整则没有数据丢失,在您的情况下,您应该检查表单数据是否丢失,TABBAR 是标签栏 Controller 的 Storyboard标识符,但您可以调整到您应该在应用程序流程中设置的任何 View Controller 。并且 register 是缺少数据的 viewcontroller 的 Storyboard标识符,因此在您的情况下必须是表单 viewcontroller 的标识符
关于ios - 如何通过在一个屏幕中导航用户来阻止用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58524911/
相关文章:
ios - UITableViewCell 上的 UITextView
iphone - 将大量数据写入 NSData 对象-iOS
ios - CoreData 自定义 NSMappingModel 不迁移数据
ios - 如何阻止 GCD 调度 _after block 返回结果。可能很愚蠢
ios - 每次移动到不同 View Controller 时都会加载 Firestore 数据
ios - 在 Swift 中限制没有 query.limit 的解析查询
ios - Xcode 10 找不到配置文件,但它存在于 ~/Library/MobileDevice/Provisioning Profile 中