不知道为什么我一直在我的数组中获取NULL值

时间:2013-12-01 12:19:54

标签: objective-c sqlite

新手在这里。我试图让我的头围绕sqlite3时遇到了很大的麻烦。

每次我尝试运行此方法

-(void)openDB
{
    if (sqlite3_open([[self filePath] UTF8String], &db) != SQLITE_OK)
    {
        sqlite3_close(db);
        NSAssert(0, @"Database failed to open");
    } 
    else 
    {
        NSLog(@"database opened");
    }

}

这样我就可以从我的数据库中提取数据并进入表格。

我收到此错误

*** Terminating app due to uncaught exception 'NSInvalidArgumentException',
reason: '*** -  [NSPlaceholderString initWithUTF8String:]: NULL cString'

任何提示?

1 个答案:

答案 0 :(得分:0)

您的filePath存在问题。此外,要将NSStrings转换为与文件系统兼容的C字符串,您应该使用方法fileSystemRepresentation,而不是UTF8String