В моем приложении ios я использую FMDB для подключения к базе данных sqlite3.В приложении db будет использоваться в многопоточности. В результате я создаю синглтон следующим образом:
+ (id)instance
{
static DBManager *dbManager = nil;
if (dbManager == nil) {
dbManager = [[DBManager alloc]init];
}
[dbManager initialDBmanager];
return dbManager;
}
, однако Ошибка: FMDataBase в настоящее время используется, иногда происходитзатем я обновляю экземпляр:
+ (id)instance
{
static DBManager *dbManager = nil;
if (dbManager == nil) {
dbManager = [[DBManager alloc]init];
[dbManager initialDBmanager];
}
while([dbManager.db inUse])//In my opinion this promises the db is free
{
}
return dbManager;
}
Ошибка все еще существует.Поэтому мой вопрос заключается в том, как правильно создать синглтон и почему код не может избежать ошибки.спасибо!