数据持久化的复习
1. 普通对象的写⼊入 - NSString
- NSArray
- NSDictionary
- NSData(保存图⽚片、⾳音频数据等)
2. 复杂对象的写⼊入
-
- 遵守NSCoding协议
-
- 实现协议中的⽅方法
• initWithCoder: (解码的⽅方法)
• encoderWithCoder: (编码的⽅方法)
-
- NSKeyedArchiver
-
- NSKeyedUnarchiver
3. 数据库
-
- 创建数据库
-
- 创建数据表: CREATE TABLE IF NOT EXISTS table_name (number INTEGER PRIMARY KEY AUTOINCREMENT UNIQUE, name TEXT NOT NULL, gender TEXT NOT NULL, age INTEGER DEFAULT 18)
-
- 插⼊入数据: INSERT INTO table_name (name, gender, age) values (‘李⼤大泽’, ‘男’, ‘18’
-
- 修改数据: UPDATE table_name set name = ‘李泽’ WHERE number = ‘2’
-
- 删除数据: DELETE FROM table_name WHERE number = ‘2’
-
- 查找某⼀一条数据: SELECT * FROM table_name WHERE number = ‘1’
-
- 查找所有数据: SELECT * FROM table_nam
-
常⽤用函数和值
• sqlite3_open()
• sqlite3_close()
• sqlite3_exec()
• sqlite3_prepare_v2()
• sqlite3_finalize()
• SQLITE_OK
• SQLITE_ROW
常⽤用的第三⽅方:FMDB
-
4. NSUserDefaults
- - -
保存⼀一个值,使⽤用起来⽅方便 路径:~/沙盒/Library/Preferences/****.plist
常⽤用⽅方法:
• setObject:forKey:
• setBool:forKey:
• setInteger:forKey:
• objectForKey:
• boolForKey:
• integerForKey:
5. 使⽤用场景
NSUserDefaluts:适合保存最小量的数据,比如:是否是第⼀一次进⼊入应用、登录状态、⽤
户名等等
简单对象写⼊入:适合保存偏多⼀些的数据,例如:从服务器返回一段网址,保存成文件,
直接从文件读取
复杂对象的写入:将模型对象直接保存,比写入数据库方便
数据库:当数据量比较大,或者数据之间的关联较复杂的情况时,需要使用数据库,创建
数据表,保大量数据