面试回顾之六:iOS 数据持久化存储
2015-03-18 本文已影响465人
西门魏国
1, Unix自带的file文件系统, fopen/create创建
2, nsuserdefault iOS的单例类, 本质是以Key-Value形式存成plist文件,Library/Preferences目录下 用于存储一般信息, 敏感信息建议用keychain存储.
3,plist Plist文件是XML格式的, Library/Preferences目录下, NSFileManager管理, ### Plist文件支持的数据格式有: NSString, NSNumber, Boolean, NSDate, NSData, NSArray, 和NSDictionary. 其中,Boolean格式事实上以[NSNumber numberOfBool:YES/NO];这样的形式表示。NSNumber支持float和int两种格式
4, NSKeyedArchiver, 归档, 支持NSCoding协议,其实使用NSCoding和NSKeyedArchiver事实上也是写plist文件,只不过对复杂对象进行了编码使得plist支持更多数据类型而已。编写成object进行存储
5, sqlite3 iOS自带,不多介绍, 第三方参考fmdb (fmdb很好的处理了并发, 而sqlite3是原生的)
6, coredata XCode自带有图形化工具,可以自动生成数据类型的代码。第三方参考MagicalRecord