2

我有一个使用 sqlite 的应用程序。我从“资源”中的 sqlite 文件中读取表。我试图从另一个 sqlite 文件中读取表,但程序失败并出现以下错误

for2012-04-10 14:12:14.331 SQL[1804:f803] *由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,

原因:'无法在包中加载 NIB:'NSBundle(已加载)',名称为 'RootViewController''

如果我不阅读第一个 sqlite 文件,我可以阅读第二个。如果我不读第二个,我可以读第一个。但不能一起读。

不能在同一个程序中读取两个 sqlite 文件吗?

4

1 回答 1

0

是的,您可以在一个项目中使用多个 SQLite 文件。如果它们在您的文档目录中,那么您可以选择其中任何一个:

NSString* documentsPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0]; 

NSString* sqlfilePath = [documentsPath stringByAppendingPathComponent:@"file1.sqlite"]; 

BOOL file1Exists = [[NSFileManager defaultManager] fileExistsAtPath:sqlfilePath];

NSString* sqlfilePath = [documentsPath stringByAppendingPathComponent:@"file2.sqlite"]; 

BOOL file2Exists = [[NSFileManager defaultManager] fileExistsAtPath:sqlfilePath];


if(file1)
{
     // do necessary operations here
} 

else if (file2)
{
     // do necessary operations here
}

但是,在您的情况下,我认为RootViewController是问题的原因,而不是 SQLlite 文件。

于 2012-08-30T11:32:05.697 回答