在Swift for iOS中将全局字符串存储在iOS中

我正在设计一个具有登录屏幕的应用程序。 当用户输入用户名和密码时,将完成对Web服务的调用,它将在成功登录时返回令牌。 现在我需要将此令牌发送到应用程序中不同屏幕内的每个HTTP调用。

我想要实现类似这样的功能:在iOS应用程序中存储全局常量的位置?

由于在Swift中不会有任何.h.m文件,我如何存储这些全局字符串(注意这些不是常量,这些是全局变量),我需要能够在任何视图控制器中访问


这正是我想要的:在整个iOS应用程序中共享字符串和变量

我可以通过使用NSUserDefaults来共享字符串,如apikeys,令牌

保存:

NSUserDefaults.standardUserDefaults().setObject("apistringhere", forKey: "apikey")
NSUserDefaults.standardUserDefaults().synchronize()

得到:

NSUserDefaults.standardUserDefaults().objectForKey("apikey")

首先, 使用全局变量不是大多数问题的正确答案 。 您应该有一个负责与Web服务通信的对象,并且该对象还应负责跟踪登录状态和令牌。 如果网址发生变化,您只需要在一个地方更改它们,处理数据的代码无需关心数据来自哪里。

这就是说,你可以在Swift中声明一个全局变量或常量,只需在文件的顶层范围声明,而不是在任何函数,方法,闭包或类型之外。 您还可以使用访问控制关键字修改变量/常量的可见性。

链接地址: http://www.djcxy.com/p/80953.html

上一篇: Store global strings in iOS in Swift for app

下一篇: Creating a custom Devise Strategy