iOS系统设置和应用设置

iOS系统设置和应用设置,第1张

在介绍4种持久化存储方式前,我们需要先介绍沙盒机制和沙盒目录下三个有关的文件夹。

首先了解一些关于iOS系统对设置和储存的基础知识:

系统设置和程序本身的应用设置

plist的全称是 Property List ,即属性列表。

一个iOS应用会支持对程序做一些设置,比如是否调用地理位置信息,是否接受通知等系统级别的设置,

或者比如保存用户名、密码、字体大小等偏好设置。

这一类的信息保存有个统一的特点:程序关闭并下次启动时,之前的设置仍然有效。

那接下来我们考虑怎么保存这些设置呢?

在iOS应用中,用户默认设置由 NSUserDefaults (用户默认设置)类实现。每个应用都有个 NSUserDefaults 实例,通过它来存取偏好设置。比如,保存用户名、字体大小、是否自动登录。 NSUserDefaults 用 键值对 的方式来读取和保存偏好设置数据,不同之处在于 NSUserDefaults 中的数据会被持久保存到文件系统中,而不是存储到内存中的对象实例中(程序关闭后,对象实例会被释放,保存的数据也会消失)。

属性列表实际就是保存文件,将值以二进制流的形式写入到指定文件中,

属性列表 序列化 虽然非常实用,但只能将一小部分的对象存储在属性列表中.

既然是属性列表序列化,序列化对象实质可以被转化为字节流以便于存储到文件中或者通过网络进行传输的对象。

虽然任何对象都可以序列化,转换成字节流的形式,但只有某些对象才能被放置到某个集合类中(如NSDictionary或者NSArray),而且最终存储的方式是把这些字节流写入文件,其方法是 writeToFile: atomically: 方法或者 writeToURL: atomically: ,这些方法都是属于集合类的。

所以总结下,这些对象包括:

序列化 (Serialization)将对象的状态信息转换为可以存储或传输的形式的过程。在序列化期间,对象将其当前状态写入到临时或持久性存储区。以后,可以通过从存储区中读取或反序列化对象的状态,重新创建该对象。

属性列表的序列化很实用,也相对比较简单,但是只能将一小部分,而且特定类型的对象保存在属性列表中。

接下来我们介绍下强大的归档解档对象的数据储存方法;

归档:创建一个 NSKeyedArchiver 实例,用于将对象归档到一个NSMutableData实例中,此时NSMutableData包含编码的数据,再使用键/码对需要的对象进行归档,最后告知完成,写入文件系统;

解档:也与归档对象步骤类似,创建一个NSData实例用于装载数据,并创建一个NSKeyedUnarchiver实例,对数据解码,然后使用先前用的键进行读取对象,最后告知程序解档完成;

以iPhone  6splus手机为例,可参考以下步骤设置滑动返回:

手机iPhone  6splus

系统ios13.1

1、打开手机“设置”。在设置界面,点击“通用”。如下图所示

2、点击“辅助功能”。如下图所示:

3、点击“辅助触控”。如下图所示:

4、将辅助触控的按钮变绿。如下图所示:

5、点击“自定顶层菜单”,点击“+”。如下图所示:

6、点击上方的“+”。如下图所示:

7、勾选“主屏幕”然后点击“完成”。如下图所示:

8、看一下悬浮小球的效果。已经有主屏幕了,想返回主屏幕的时候,点击这个标志,就可以返回主屏幕。如下图所示:


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/6939820.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-30
下一篇 2023-03-30

发表评论

登录后才能评论

评论列表(0条)

保存