我在調用以下方法後收到此異常。它只在應用第一次加載時纔會出現。當我再次打開應用程序,它工作正常。誰能幫忙?Exc_Bad_Access在Iphone中創建數據庫的例外
-(void) createAndCheckDatabase
{
BOOL success;
self.databaseName = @"database.db";
NSArray *documentPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentDir = [documentPaths objectAtIndex:0];
self.databasePath = [[documentDir stringByAppendingPathComponent:self.databaseName]retain];
NSFileManager *fileManager = [NSFileManager defaultManager];
success = [fileManager fileExistsAtPath:self.databasePath];
if(success) return;
NSString *databasePathFromApp = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:self.databaseName];
NSError *err;
[fileManager copyItemAtPath:databasePathFromApp toPath:self.databasePath error:nil];
if (err) {
// DebugLog(@"%@", [err description]);
}
}
你可以粘貼/顯示屬性:self.databaseName?它是什麼?保留? – 2012-04-11 09:03:08
@JonasSchnelli是它的保留 – 2012-04-11 09:16:36
這就像一個內存泄漏:'self.databasePath = [[documentDir stringByAppendingPathComponent:self.databaseName] retain];'刪除'retain'。但是撞車不應該從那裏來。你用調試器完成了這個方法嗎?它在哪裏崩潰? – 2012-04-11 09:29:21