数据存储方式

来源:互联网 发布:http网络协议 编辑:程序博客网 时间:2024/06/05 19:49

存储数据:

.文件存储:NSUerDefaultplist文件(不太灵活,一般存储死数据),归档

1.NSUserDefault:用来保存应用程序设置和属性、用户保存的数据。用户再次打开程序或开机后这些数据仍然存在。NSUserDefaults可以存储的数据类型包括:NSDataNSStringNSNumberNSDateNSArrayNSDictionary

缺点:如果要存储其他类型,需要转换为前面的类型,才能用NSUserDefaults存储。(自定义的数据类型需转换成NSdata才行)



2.归档NSKeyedArchiver

采用归档的形式来保存数据,数据对象需要遵守NSCoding协议,对象对应的类必须提供encodeWithCoder:initWithCoder:方法。

缺点:只能一次性归档保存以及一次性解压。所以只能针对小量数据,对数据操作比较笨拙,如果想改动数据的某一小部分,需要解压或归档整个数据。



.数据库:coreDataFMDataBase第三方库

数据库使用步骤:创建数据库对象———》打开数据库————》创建表格Create————》处理数据(增,删,查,改)————》关闭数据库


关于数据库操作推荐大家关注博客:http://blog.csdn.net/xyz_lmn/article/details/9312837


FMDataBase数据库的依赖库:【工程中必须导入如下文件,并使用 libsqlite3.dylib依赖包】

Pasted Graphic.tiff

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写入方式:永久保存在磁盘中。

第一步:获得文件即将保存的路径:

第二步:生成在该路径下的文件:

第三步:往文件中写入数据:

最后:从文件中读出数据:


0 0