我是iPhone的初学者,我已经创建了数据库,但运行时错误为无法创建可写数据库文件,并显示消息"操作无法完成"
我的代码是
-(void)createdatabase
{
NSFileManager *fileManager=[NSFileManager defaultManager];
NSError *error;
NSString *dbPath=[self getDBPath];
BOOL success=[fileManager fileExistsAtPath:dbPath];
if(!success)
{
NSString *defaultDBPath=[[[NSBundle mainBundle]resourcePath] stringByAppendingPathComponent:@"SQL.sqlite"];
success=[fileManager copyItemAtPath:defaultDBPath toPath:dbPath error:&error];
if(!success)
{
NSAssert1(0, @"Failed to create writable database file with message '%@'.", [error localizedDescription]);
}
}
}
提供适用于我的代码的任何建议和源代码
我对这个错误代码做了很少的谷歌搜索,我发现
NSFileReadNoSuchFileError = 260, // Read error (no such file)
因此,请确保数据库文件(SQL.sqlite)位于上述代码片段中引用的路径上。
试试这个:从模拟器的应用程序文件夹中删除应用程序,然后再次运行该应用程序。我刚刚做了这个小工作,我的错误消失了。也祝你好运..
如果 Shah Paneri 的答案对您不起作用,您可以另外查看数据库文件的"目标成员资格"。确保您的项目已选中。如果不是(因为我不是),选择它应该可以解决问题。