Swift 3:永久存储数据

一个带有UserDefaults的。

永久数据存储是iOS应用程序开发人员掌握的一项重要技能。 对于大多数应用程序,您将要存储一些有关用户的信息,以便当他们返回应用程序时,即使关闭应用程序后,它们也可以立即获取其数据。 有多种方法可以实现此目的,我们正在研究本节中最简单的方法之一。

因此,我们将在这里使用的是UserDefaults。 您可能会想到,它用来存储有关该特定用户的一些基本信息,但实际上您可以用来在设备上本地存储任何类型的信息。

这也很容易设置。 打开一个新的xcode项目,然后在viewDidLoad()方法中键入以下代码。

我们将字符串(或任何项目)保存到UserDefaults中,该变量设置了一个名为“ key”的变量,并为其提供了一个值“ String”,当我们想取回该值时,我们只需使用“ key”即可。 当您运行该应用程序时,您将在日志中打印出您的字符串。

现在,为了确保已确实保存了数据,让我们再次运行该应用程序,但是这次我们将注释掉保存部分。 这样做完全相同(再次检查日志),这意味着数据将永久存储,并且只要加载应用程序就可以访问数据。

基本上,您可以将任何类型的数据存储到UserDefaults中,例如在对象中,如String,Date,Array,Integer甚至是Boolean。 为此,我们需要创建UserDefaults的全局实例。

再次注释掉存储值部分并运行应用程序,您将发现数据已永久存储。

检索对象时,结果是可选的。 这意味着您可以接受可选性,也可以将其类型转换为非可选类型,然后使用nil合并运算符处理缺失值。 例如:

因此,我们在这里检查的是,我们能够获取名称对象并将其转换为字符串,如果存在,则将其打印出来。 这是检查对象是否存在以及对象是否为某种类型的更安全的方法。 这就是关于UserDefaults的全部内容。

注意: NSUserDefaults已重命名为UserDefaults standardUserDefaults()已重命名为standard