这不是一个具体的编码问题,我只是在寻找最佳实践,因为我觉得我现在正在做的事情似乎可以进行优化。
我正在编写一个要求用户登录的iOS应用程序。
我编写了一个用户身份验证PHP Web服务,它根据HTTP POST请求的电子邮件和密码参数返回JSON。我有在客户端处理成功和失败的方法。
目前,当应用程序启动时,将向用户显示登录视图控制器。成功登录后,将对“主页”视图控制器执行基本推送操作,此时此处显示的内容为“嘿欢迎xxx”。
如果用户已在设备上进行过一次身份验证,我希望保留其详细信息,并在启动时自动加载“主页”视图控制器。
您认为我应该将登录视图控制器作为模式呈现在顶部吗?或者我当前的设置好吗?或者有更好的方法吗?我的知识存在巨大差距。
另外,如何在启动时加载不同的根视图控制器而不是在故事板中设置?
感谢您的任何建议。
答案 0 :(得分:1)
我会从app delegate的应用程序中提供一个模态视图控制器:didFinishLaunchingWithOptions:method
类似
[self.window.rootViewController presentModalViewController:signInViewController animated:NO];
后执行此操作[self.window makeKeyAndVisible]; 然后,当您完成登录视图控制器时,可以像使用任何模态视图控制器一样关闭它
答案 1 :(得分:0)
另外,如何在启动时加载不同的根视图控制器而不是在故事板中设置?
好吧,如果您选择在segue上显示模态登录视图控制器,这根本不是问题;可能你应该尝试这个,因为它是处理登录视图的一种非常标准的方式,它非常容易。
否则,如果您想要使用当前的设计,我首先会检查存储的凭据是否仍然正常,然后(如果可以)我只需从登录视图控制器执行到家庭控制器的推送。