FMDatabaseQueue 这个类在多个线程来执行查询和更新时会使用这个类。避免同时访问同一个数据。
注意点:
1.FMDatabaseQueue是一个串行队列,它不支持串行任务嵌套执行
[(FMDatabaseQueue的单例) inDatabase:^(FMDatabase *db) {
FMResultSet *result = [db executeQuery:[NSStringstringWithFormat:@"select * from BookClassify order by classifyID desc"]];
while ([result next]) {
//处理result
}
[(FMDatabaseQueue的单例) inDatabase:^(FMDatabase *db) {
//有问题了
}];
}];
可以用db再次进行sql操作、不必再inDatabase
2.FMDatabaseQueue不是在次线程中操作、若要次线程操作在外面要包一个
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,0), ^{
});