首页 > 代码库 > 数据持久化的复习

数据持久化的复习

数据持久化的复习

1. 普通对象的写?入 - NSString

- NSArray
- NSDictionary
- NSData(保存图?片、?音频数据等)

2. 复杂对象的写?入

  • -  遵守NSCoding协议

  • -  实现协议中的?方法

    • initWithCoder: (解码的?方法)

    • encoderWithCoder: (编码的?方法)

  • -  NSKeyedArchiver

  • -  NSKeyedUnarchiver

    3. 数据库

  • -  创建数据库

  • -  创建数据表: CREATE TABLE IF NOT EXISTS table_name (number INTEGERPRIMARY KEY AUTOINCREMENT UNIQUE, name TEXT NOT NULL, gender TEXTNOT 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:适合保存最?小量的数据,?比如:是否是第?一次进?入应?用、登录状态、?用

户名等等

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

数据持久化的复习