存储

//document文件夹路径

#definePATH_AT_Document(name) [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject] stringByAppendingPathComponent:name]//

temp文件夹路径

#definePATH_AT_Tmp(name) [NSTemporaryDirectory() stringByAppendingPathComponent:name]

//cache文件夹路径

#definePATH_AT_Cache(name) [[NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) lastObject] stringByAppendingPathComponent:name]

//Libary文件夹路径

#definePATH_AT_Library(name) [[NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES) lastObject] stringByAppendingPathComponent:name]

1、Plist

NSString*docuPath=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES).firstObject;

NSString*plistPath=[docuPath stringByAppendingPathComponent:@"hooyking.plist"];

2、NSUserDefaults

//存

NSUserDefaults*ud=[NSUserDefaults standardUserDefaults];

[ud setObject:self.textField.text forKey:@"userDefaultKey"];

[ud synchronize];

//取

NSString*text=[ud objectForKey:userDefaultKeyStr];

3.SQLite

NSString *path = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES).firstObject;

NSLog(@"documentPath:%@",path);

NSString *dbpath = [path stringByAppendingPathComponent:@"hooyking.db"];

FMDatabase *db = [FMDatabase databaseWithPath:dbpath];

self.myDb = db;


- (void)createTable {

    if ([_myDb open]) {

        //这儿创建了一个列有 name|sex|age|nickname|phoneNum|nativePlace|photo 的名字为personTable的表

        BOOL result = [_myDb executeUpdate:@"create table if not exists personTable (name text, sex integer, age integer, nickname text, phoneNum text, nativePlace text, photo blob)"];

        if (result) {

            NSLog(@"创建表成功");

        }

        else {

            NSLog(@"创建表失败");

        }

        [_myDb close];

    }

}


- (void)insertData {

    if ([_myDb open]) {

        BOOL result = [_myDb executeUpdate:@"insert into personTable (name, sex, age, nickname, phoneNum, nativePlace, photo) values (?,?,?,?,?,?,?)",@"JDX",[NSNumber numberWithInteger:1],[NSNumber numberWithInteger:18], @"hooyking", [NSNumber numberWithInteger:13888888888],@"sichuan",[NSData dataWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"picture" ofType:@"jpg"]]];

        if (result) {

            NSLog(@"添加数据成功");

        }

        else {

            NSLog(@"添加数据失败");

        }

        [_myDb close];

    }

}

- (void)deleteData {

    //删除这个表里nickname为hooyking的所有数据,列没有删除,依然存在

    if ([_myDb open]) {

        BOOL result = [_myDb executeUpdate:@"delete from personTable where nickname = ?",@"hooyking"];

        if (result) {

            NSLog(@"删除数据成功");

        }

        else {

            NSLog(@"删除数据失败");

        }

        [_myDb close];

    }

}

- (void)updateData {

    if ([_myDb open]) {

        BOOL result = [_myDb executeUpdate:@"update personTable set age = ? where nickname = ?",[NSNumber numberWithInteger:25],@"hooyking"];

        if (result) {

            NSLog(@"修改数据成功");

        }

        else {

            NSLog(@"修改数据失败");

        }

        [_myDb close];

    }

}

- (void)selectData {

    if ([_myDb open]) {

        //查询多条数据

        FMResultSet *res = [_myDb executeQuery:@"select name, age from personTable"];

        while ([res next]) {

            NSString *name = [res stringForColumn:@"name"];

            NSInteger age = [res intForColumn:@"age"];

            NSLog(@"姓名:%@----年龄:%ld",name,age);

        }


        //查询一条数据

        NSLog(@"年龄为25的人:%@",[_myDb stringForQuery:@"select name from personTable where age = ?",@25]);


        [_myDb close];

    }

}

你可能感兴趣的:(存储)