iOS视图开发全解析
1. 应用启动逻辑与登录判断
在如今的应用开发中,没有主故事板的应用并不常见,但有时会有混合应用覆盖部分 UIApplicationMain
的自动行为。常见的场景是应用有登录或注册界面,若用户未登录,启动时会显示该界面;用户登录后,后续启动则不再显示。
为实现这一逻辑,我们仅实现步骤 2,让 UIApplicationMain
执行其他步骤。在步骤 2 中,我们查看 UserDefaults
(或类似存储)来判断用户是否已登录:
- 若已登录,跳过故事板的初始视图控制器,跳转到故事板中的下一个视图控制器。
- 若未登录,不做处理,让 UIApplicationMain
实例化故事板的初始视图控制器,并将其设为窗口的根视图控制器。
以下是示例代码:
func application(_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions:
[UIApplication.LaunchOptionsKey: Any]?) -> Bool {
if let rvc = self.window?.rootViewController {
let ud = UserDefaults.standard
if ud.string(forKey: "username") != nil