存储

作者: YN吾爱 | 来源:发表于2022-04-19 16:04 被阅读0次

    //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];

        }

    }

    相关文章

      网友评论

          本文标题:存储

          本文链接:https://www.haomeiwen.com/subject/ozwsertx.html