在swift

时间:2015-08-30 06:24:28

标签: ios swift login

我目前正在使用swift开发iOS应用。我需要创建一个登录屏幕 我想要做的是:用户第一次打开应用程序时,将显示登录屏幕,但是一旦用户登录(我知道这是因为我在用户NSUserDefaults中保存了服务器的会话令牌登录)应用程序将直接启动主屏幕 我想知道实现这个目的的正确方法是什么(告诉应用程序要显示哪个屏幕)。我尝试了两种方法:

  1. 在主屏幕上加载应用,如果还没有令牌,则显示LoginViewController。我用这种方式遇到的问题是,当我运行应用程序时,它表示LoginViewController不在窗口层次结构中。
  2. AppDelegate我检查是否有令牌,并根据结果我LoginViewControllerMainViewController rootViewController。这样做的问题是,在将rootViewControllerLoginViewController更改为MainViewController时更改private void yourDatagrid_AutoGeneratingColumn(object sender, DataGridAutoGeneratingColumnEventArgs e) { if (e.PropertyType == typeof(DateTime))//if a column is typeof DateTime { (e.Column as DataGridTextColumn).Binding.StringFormat = "yyyy-MM-dd";//set your date format } } 需要很长时间。
  3. 有没有更好的方法来实现这一目标?哪一个是最好的?谢谢你们。

1 个答案:

答案 0 :(得分:1)

我建议您使用MainViewController启动应用程序,并在没有令牌时将LoginViewController显示为modal。通过这种方式,您可以再次显示应用程序其他部分中的LoginViewController,例如令牌将过期。

当然......如果您想要一点点安全性,请不要将身份验证令牌存储在nsuserdefault上。