数据持久化的复习

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:适合保存最⼩小量的数据,⽐比如:是否是第⼀一次进⼊入应⽤用、登录状态、⽤用

户名等等

简单对象写⼊入:适合保存偏多⼀一些的数据,例如:从服务器返回⼀一段⺴⽹网址,保存成⽂文件,
直接从⽂文件读取
复杂对象的写⼊入:将模型对象直接保存,⽐比写⼊入数据库⽅方便
数据库:当数据量⽐比较⼤大,或者数据之间的关联较复杂的情况时,需要使⽤用数据库,创建
数据表,保存⼤大量数据