iOS 常用四种数据存储方式

iOS 常用四种数据存储方式

, ,

定义Possession:

NSString *name;//待归档类型

}

@implementation Possession

-(void)encodeWithCoder:(NSCoder *)aCoder{

[aCoderencodeObject:nameforKey:@"name"]; }

-(void)initWithCoder:(NSCoder *)aDecoder{name=[[aDeCoder decodeObjectforKey:@"name"] retain];

}

归档操作:archiveRootObject:toFile: 即可。

NSString *path =[selfpossessionArchivePath];[NSKeyedArchiver archiveRootObject:allPossessions toFile: path ]

解压操作:allPossessions =[[NSKeyedUnarchiverunarchiveObjectWithFile:path] retain];

NSDictionary

保存数据:

NSUserDefaults *defaults=[NSUserDefaultsstandardUserDefaults];

NSString *name =@”default string“;[defaults setObject:firstName forKey:@"name"];

UIImage *image=[[UIImage alloc]initWithContentsOfFile:@"photo.jpg"];NSData *imageData = UIImageJPEGRepresentation(image, 100);//UIImage

读取数据:

NSUserDefaults *defaults=[NSUserDefaultsstandardUserDefaults];NSString *name = [defaults objectForKey:@"name"];//根据键值取出nameNSData *imageData = [defaults dataForKey:@"image"];UIImage *Image = [UIImage imageWithData:imageData];//NSData转换为UIImage

he domain mask:NSUserDomainMask

NSString *ourDocumentPath =[documentPaths objectAtIndex:0];

NSString *sandboxPath = NSHomeDirectory(); NSString *documentPath = [sandboxPath

因前面分析了!

录可能在未来发送的系统上发生改变。

NSString *FileName=[documentDirectorystringByAppendingPathComponent:fileName];//fileName就是保存文件的文件名

Link Binary Library(ies),#import"/usr/include/sqlite3.h"

NSArray*documentsPaths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES);NSString *databaseFilePath=[[documentsPathsobjectAtIndex:0]stringByAppendingPathComponent:@"mydb"];

//上面两句已经比较熟悉了吧!//打开数据库if (sqlite3_open([databaseFilePath UTF8String], &database)==SQLITE_OK) {

NSLog(@"sqlite dadabaseisopened."); }

else{ return;}//打开不成功就返回

!

char *error;const char *createSql="create table(id integer primary keyautoincrement,name text)"; if (sqlite3_exec(database, createSql, NULL,NULL,&error)==SQLITE_OK) {

NSLog(@"create table is ok."); }

else {

}

:

const char *insertSql="insert intoaperson (name) values(‘gg’)";if (sqlite3_exec(database, insertSql, NULL, NULL, &error)==SQLITE_OK) {

NSLog(@"insert operation isok.");}

else {

NSLog(@"error: %s",error);

NSLog(@"error: %s",error);

}

const char *selectSql="selectid,namefrom a person";sqlite3_stmt *statement;if (sqlite3_prepare_v2(database,selectSql, -1, &statement,nil)==SQLITE_OK){

NSLog(@"select operation isok.");}

else {

sqlite3_free(error); }

while(sqlite3_step(statement)==SQLITE_ROW){int _id=sqlite3_column_int(statement, 0);NSString *name=(char*)sqlite3_column_text(statement,1);NSLog(@"row>>id %i, name %s",_id,name);}sqlite3_finalize(statement);:sqlite3_close(database);

NSString来接收从数据库取出的字符串。

,成功是奋斗的结果,而奋斗是成功的必经之路。

iOS 常用四种数据存储方式

相关文章:

你感兴趣的文章:

标签云: