我已经构建了一个基本的数据库应用程序,用户可以在其中将记录插入到表中,应用程序将它们显示在TableView上。
一切都按照预期的方式运作。例如,即使我们从应用程序切换器中删除应用程序并从跳板重新启动它,新记录也会显示。
但每次我使用Xcode构建和运行时,数据库都会转到默认记录!新记录不存在。
这是正常的吗?...但如果我想测试我的应用程序的新记录怎么办?任何修复?
BTW,JFYI,下面是我用来制作可编辑数据库的代码。
-(NSString *)createEditableDatabase{
// Check if DB already exists
BOOL success;
NSFileManager *fileManager = [NSFileManager defaultManager];
NSError *error;
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDir = [paths objectAtIndex:0];
NSString *writableDB = [documentsDir stringByAppendingPathComponent:@"Database.db"];
success = [fileManager fileExistsAtPath:writableDB];
//The editable DB already exists
if (success) {
return writableDB;
}
//The editable DB does not exist
//Copy the default DB into App's Doc Dir.
NSString *defaultPath = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"Database.db"];
success = [fileManager copyItemAtPath:defaultPath toPath:writableDB error:&error];
if (!success) {
NSAssert1(0, @"Failed to create writable DB file: '%@'", [error localizedDescription]);
}
return writableDB;
}
答案 0 :(得分:0)
在深入挖掘的同时,我注意到当我插入记录时,finder中的数据库修改日期没有更新。所以,我发现我仍然使用旧路径来执行数据库操作(而不是文档操作)。 :)现在一切正常。无论如何,谢谢尼克