1、NSUserDefaults:这个算是用的比较多的了,用来存储一些简单的App配置信息。能直接存储的数据有:NSNumber, 基本数据类型(int,NSInter , float , double , CGFlat......), NSString, NSData, NSArray, NSDictionary, NSURL。自定义对象也能存,但是比较麻烦,需要转换为NSData,不能直接存储。
2、归档(序列化):一般保存自定义的对象,自定义对象数组,但是只有遵守NSCoding的类才能只用归档。如果使用MJExtension可以不用写复杂的NSCoding协议,只需要一句MJCodingImplementation即可。
3、plist文件保存:主要保存的数据类型为NSString、NSNumber、NSData、NSArray、NSDictionary、NSMutableArray、NSMutableDictionary、NSMutableData
4、数据库:保存大量数据可以优先考虑用数据库。
5、CoreData:对象持久化,用来保存程序用到的对象及对象间的关联。本质还是数据库存储,将OC对象转化成数据保存在数据库中。好处就是能够合理管理内存,避免sql语句的麻烦。
6、KeyChain:用来存加密数据,这个与其他存储方式不同的是:即使删除掉app数据也不会消失,因为它存在一个/private/var/keychains/keychain-2.db的数据库文件中,这是一个系统文件,所以删除app,它不会消失。不过不适合大量数据的持久化存储。
网友评论