iOS文件管理与序列化|青训营笔记

266 阅读2分钟

这是我参与「第四届青训营 」笔记创作活动的的第14天,今天学习了iOS文件管理与序列化,对相关知识整理了笔记。

ios文件管理

沙盒机制

沙盒机制是iOS系统中的一种安全体系。每个iOS程序都有一个独立的文件系统(存储空间),而且只能在对应的文件系统中进行操作,此区域被称之为沙盒。所有非代码文件都保存在此,如属性文件plist、文本文件、图像、图标、媒体资源等。

主要包含4个目录 MyApp.app、Documents、Library、tmp

NSFileManager(文件夹)

NSFileManager是用来管理文件系统的,它可以用来进行常见的文件\文件夹操作(拷贝、剪切、增删改查等),修改文件的内容和属性

NSBundle(安装包)

Apple 使用Bundle(捆绑包)来表示应用程序、框架、插件和许多其他特定类型的内容。 捆绑包将其包含的资源组织到定义明确的子目录中,捆绑包结构因平台和捆绑包类型而异。通过使用包对象,您可以在不知道包的结构的情况下访问包的资源。 捆绑对象提供了一个用于定位项目的单一界面,同时考虑了捆绑结构、用户偏好、可用的本地化和其他相关因素。 任何可执行文件都可以使用 bundle 对象来定位资源,无论是在应用程序的 bundle 中还是在位于其他位置的已知 bundle 中。您不使用捆绑对象来定位容器目录或文件系统的其他部分中的文件。

序列化/反序列化

序列化:将对象转换为字节序列的过程称为对象的序列化

反序列化:将字节序列恢复为对象的过程称为对象的反序列化

什么时候使用:要把内存中的对象状态保存到一个文件中或者数据库中的时候、要用套接字在网络上传送对象的时候。

主流序列化协议:xml、json、protobuf

image.png

开源JSON序列化组件:YYModel、JSONModel、mantle

总结

今日学习了iOS文件管理与序列化的基础知识,对ios app的文件相关又了更多的了解。