继续在IOS中更改数据库的地址

时间:2015-05-25 12:01:01

标签: ios objective-c cocoa-touch

每次运行我的应用程序时,数据库地址都会更改,因此我的更新或检索无法成功运行。

任何人都可以帮助我为什么会发生这种情况...这里是我的代码将数据库复制到目录。

    (BOOL)createDB
    {
         NSFileManager *fileManager = [NSFileManager defaultManager];
         NSError *error;

         NSString *dbPath = [self getDBPath];
         dataPath=dbPath;
         databasePath = dbPath;
         NSLog(@"Path is:   %@",dbPath);
         BOOL success = [fileManager fileExistsAtPath:dbPath];

         if(!success) {

            NSString *defaultDBPath = [[[NSBundle mainBundle]              resourcePath] stringByAppendingPathComponent:@"babynames.sqlite"];

           success = [fileManager copyItemAtPath:defaultDBPath toPath:dbPath error:&error];

              if (!success)
                  NSAssert1(0, @"Failed to create writable database file with message '%@'.", [error localizedDescription]);
          }
           return  success;

          }

这是getDBPathCode

- (NSString *)getDBPath
{`NSSearchPathForDirectoriesInDomains`
    //Search for standard documents using NSSearchPathForDirectoriesInDomains
    //First Param = Searching the documents directory
    //Second Param = Searching the Users directory and not the System
    //Expand any tildes and identify home directories.

    'NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory , NSUserDomainMask, YES);
    NSString *documentsDir = [paths objectAtIndex:0];
    //NSLog(@"dbpath : %@",documentsDir);
    return [documentsDir stringByAppendingPathComponent:@"babynames.sqlite"];'
}

0 个答案:

没有答案