필자는 데이터베이스에 문제가 있습니다 - 여하튼 어느 시점에서 데이터베이스가 열리기 전에 데이터베이스가 닫혀있는 것처럼 보입니다.개체가 데이터베이스에서 초기화되었는지 알 수있는 올바른 방법은 무엇입니까?
데이터베이스가 열리지 않은 경우 다음 문을 사용하고 있습니다. if (! database) then break;
* 데이터베이스가 열려 있지 않을 때 * 데이터베이스가 nil (database = nil)로 설정되는 경우.
내가 올바른 방법으로하고 있습니까? 아니면 내 코드에 다른 오류가 있습니까?
여기 내 코드입니다 :
-(BOOL) loadDB: (NSString*) dbPath {
//Database was opened before
if (database) {
sqlite3_close(database);
database = nil;
}
//Opening database
if (sqlite3_open([dbPath UTF8String], &database) != SQLITE_OK)
{
database = nil;
return FALSE;
}
return TRUE;
}
코드가 여러 번 호출되는 일부 시간에이 예외가 발생합니다. 왜 이것이 일어날 수 있습니까?
디버거를 사용하여 문제가 발생한 위치를 확인할 때 다음이 표시됩니다. sqlite3_close (database);
미리 감사드립니다.
은이 개체의 첫 번째 인스턴스 생성시 데이터베이스가 nil로 설정되어 있습니까? 우리는 코드 스 니펫을 가지고 있기 때문에 데이터베이스가 얼마나 많은 다른 장소에 접근 할 수 있는지 알려주지는 않습니다. – KevinDTimm