存储数据:
一.文件存储:NSUerDefault,plist文件(不太灵活,一般存储死数据),归档
1.NSUserDefault:用来保存应用程序设置和属性、用户保存的数据。用户再次打开程序或开机后这些数据仍然存在。NSUserDefaults可以存储的数据类型包括:NSData、NSString、NSNumber、NSDate、NSArray、NSDictionary。
缺点:如果要存储其他类型,需要转换为前面的类型,才能用NSUserDefaults存储。(自定义的数据类型需转换成NSdata才行)
2.归档NSKeyedArchiver
采用归档的形式来保存数据,数据对象需要遵守NSCoding协议,对象对应的类必须提供encodeWithCoder:和initWithCoder:方法。
缺点:只能一次性归档保存以及一次性解压。所以只能针对小量数据,对数据操作比较笨拙,如果想改动数据的某一小部分,需要解压或归档整个数据。
二.数据库:coreData,FMDataBase第三方库
数据库使用步骤:创建数据库对象———》打开数据库————》创建表格Create————》处理数据(增,删,查,改)————》关闭数据库
关于数据库操作推荐大家关注博客:http://blog.youkuaiyun.com/xyz_lmn/article/details/9312837
FMDataBase数据库的依赖库:【工程中必须导入如下文件,并使用 libsqlite3.dylib依赖包】
FMDataBase第三方数据库的处理语句:
创建数据库:
FMDatabase *db = [FMDatabase databaseWithPath:path];
打开数据库:
[db open] ;
创建表格:NSString *sqlCreateTable = [NSString stringWithFormat:@"CREATE TABLE IF NOT EXISTS '%@' ('%@' INTEGER PRIMARY KEY AUTOINCREMENT, '%@' TEXT, '%@' INTEGER, '%@' TEXT)",TABLENAME,ID,NAME,AGE,ADDRESS];
增:
NSString *insertSql1= [NSString stringWithFormat: @"INSERT INTO '%@' ('%@', '%@', '%@') VALUES ('%@', '%@', '%@')", TABLENAME, NAME, AGE, ADDRESS, @"张三", @"13", @"济南"];
删:
NSString *deleteSql = [NSString stringWithFormat: @"delete from %@ where %@ = '%@'", TABLENAME, NAME, @"张三"];
查:
NSString * sql = [NSString stringWithFormat: @"SELECT * FROM %@",TABLENAME];
改:
NSString *updateSql = [NSString stringWithFormat: @"UPDATE '%@' SET '%@' = '%@' WHERE '%@' = '%@'", TABLENAME, AGE, @"15" ,AGE, @"13"];
关闭数据库:
[db close];
三.读写的方式
Write写入方式:永久保存在磁盘中。
第一步:获得文件即将保存的路径:
第二步:生成在该路径下的文件:
第三步:往文件中写入数据:
最后:从文件中读出数据: