我使用Core Data在我的iOS应用中管理本地数据库。但后来我要求将大量记录插入本地数据库。所以我选择FMDB来执行批量插入。但是当我尝试插入记录时,我得到了这个数据库错误:1"没有这样的表:表名。 但是当我交叉检查时,本地数据库中存在我在xcdatamodel中创建的所有表。
- (FMDatabase *)dbInMainThread{
if (_dbInMainThread) {
return _dbInMainThread;
}
NSURL *storeURL = [[[CoreDataManager manager] applicationLibraryDirectory] URLByAppendingPathComponent:[DATABASE_NAME stringByAppendingString:@".sqlite"]];
[self checkDB:[storeURL relativePath]];
_dbInMainThread = [FMDatabase databaseWithPath:[storeURL relativePath]];
return _dbInMainThread;
}
-(void) checkDB:(NSString *)dbpath{
BOOL success;
NSFileManager * fm = [NSFileManager defaultManager];
success = [fm fileExistsAtPath:dbpath];
if (success) return;
}
上述代码段中的成功bool
始终返回true
。
我按照此SO答案中的步骤操作。 由于我使用的是Core Data,因此我不需要将DB文件添加到项目中。我卸载了应用程序,重置了模拟器,并在开始插入之前验证了DB文件位于正确的文件夹中。但没有任何帮助。
我在这里缺少什么
由于