FMDB的简单的使用

FMDB的简单的使用

首先需要知道的, 就是FMDB拥有的三个大类

  1. FMDatabaseQueue
  2. FMDatabase
  3. FMResultSet

FMDatabaseQueue 这个类在多个线程来执行查询和更新时会使用这个类。避免同时访问同一个数据

FMDatabaseQueue是一个串行队列,它不支持串行任务嵌套执行

需要注意的是, 在使用这个类的时候, 需要避免嵌套使用inDatabase 这个方法, 不然会造成线程的死锁

 [(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

FMDatabaseQueue不是在次线程中操作、若要次线程操作在外面要包

   dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_    PRIORITY_DEFAULT,0), ^{
});

你可能感兴趣的:(FMDB的简单的使用)