Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone FMDB databaseWithPath:未写入磁盘_Iphone_Database_Cocoa_File_Fmdb - Fatal编程技术网

Iphone FMDB databaseWithPath:未写入磁盘

Iphone FMDB databaseWithPath:未写入磁盘,iphone,database,cocoa,file,fmdb,Iphone,Database,Cocoa,File,Fmdb,fmdb文档说,如果您将文件系统路径传递给databaseWithPath:它将为您创建一个文件: 文件系统路径。该文件不必存在于磁盘上。如果它不存在,则为您创建它 我正在使用以下代码获取文件系统路径: [[NSHomeDirectory() stringByAppendingPathComponent:@"Desktop"] stringByAppendingPathComponent:@"file.db"]; 并尝试这样设置我的数据库: FMDatabase *aDB = nil; if

fmdb文档说,如果您将文件系统路径传递给databaseWithPath:它将为您创建一个文件:

  • 文件系统路径。该文件不必存在于磁盘上。如果它不存在,则为您创建它
  • 我正在使用以下代码获取文件系统路径:

    [[NSHomeDirectory() stringByAppendingPathComponent:@"Desktop"] stringByAppendingPathComponent:@"file.db"];
    
    并尝试这样设置我的数据库:

    FMDatabase *aDB = nil;
    
    if (aLanguageDBPath) {
            aDB = [FMDatabase databaseWithPath:aLanguageDBPath];
    }
    
    结果是一个有效的FMDatabase对象没有按照公布的方式写入磁盘。我是否误解了文件中的解释?我应该如何动态创建dbs并将其写入磁盘


    谢谢

    尝试使用NSDocumentDirectory。使用以下命令更改路径代码:

    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,
                                                         NSUserDomainMask,
                                                         YES);
    NSString dbPath = [[paths objectAtIndex:0] stringByAppendingPathComponent:@"file.db"];
    

    刚刚发现直到
    [db open]才在磁盘上创建db

    已经尝试过了。还是不走运。我在内存中获得了db对象,但无法将其写入磁盘。