我正在使用一个需要用户登录的IOS应用程序。它具有一个Master View Controller,该Master View Controller可以检查用户是否已经登录。如果尚未登录,它将切换到另一个显示登录提示的View Controller。当用户登录到那里时,主视图控制器将关闭登录视图,并显示适合于已登录用户的信息。
该应用程序还将用户凭据存储在设置plist中。如果存在该信息,则应用程序尝试使用存储的凭据登录。如果成功,则Master View控制器将加载适合用户的信息。如果不是,它将选择登录视图控制器。
我最终在Master View和Log in View控制器中复制了验证用户ID和密码的代码。然后,我需要将prepareforsegue方法中的用户实例传递给任何后续视图。
我应该实现单例类来跟踪已登录的用户吗?这很诱人,因为它似乎可以节省很多工作。最好将我在“登录视图”控制器中使用的用户登录方法委托给主视图控制器,并在每次按下新的视图控制器时将用户实例传递给prepareforsegue?
我应该实现单例类来跟踪已登录的用户吗?
您当然可以做到。但是,您也可以创建一个无状态的帮助程序类,该类可以根据需要从后备存储中读取凭据,而无需创建单例。
我最终在Master View和Log in View控制器中复制了代码
无状态帮助程序方法(即,其中仅包含类(+)
方法的类)将防止代码重复:您最终复制的代码将进入共享帮助程序类。
该应用程序还将用户凭据存储在设置plist中。
如果未加密的密码是用户凭据的一部分,则这不是安全的解决方案。您应该使用钥匙串服务将凭据保存在受保护的存储中。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句