Swift Couchbase Lite CBL管理器调度队列

Swift Couchbase Lite CBL管理器调度队列,swift,grand-central-dispatch,couchbase-lite,Swift,Grand Central Dispatch,Couchbase Lite,我想在Swift内的专用调度队列上执行我的couchbase操作。 我修改了这段代码,并添加了引用self的函数调用。在派送结束时。此时,我的应用程序冻结。我把[无主的自我]附在我的结尾上,因为我认为它对自我有很强的参考价值,但这没有帮助。我做错了什么 couchbase-lite-ios-1.0.0,XCode6版本6.0 6A313 对我来说,这似乎是一个僵局。self.manager.existingDatabaseName看起来像什么?它是否以某种方式使用了manager.dispatc

我想在Swift内的专用调度队列上执行我的couchbase操作。 我修改了这段代码,并添加了引用self的函数调用。在派送结束时。此时,我的应用程序冻结。我把[无主的自我]附在我的结尾上,因为我认为它对自我有很强的参考价值,但这没有帮助。我做错了什么

couchbase-lite-ios-1.0.0,XCode6版本6.0 6A313


对我来说,这似乎是一个僵局。self.manager.existingDatabaseName看起来像什么?它是否以某种方式使用了manager.dispatchQueue?似乎不是在使用它的内部dispatchQueue您使用的是最新的couchbase版本3吗?在最新的couchbase lite ios版本上,我遇到了相同的死锁问题。您是否创建了github问题?@Erich我在couchbase lite mobile google组中发布了相同的问题:。他们建议升级,但我没有时间用1.0.2进行验证。
public class MYDao {

   private var manager : CBLManager!
   private var dispatchQueue : dispatch_queue_t!

   public init(){
      //Retrieve copy of CBLManager
      self.manager = CBLManager.sharedInstance().copy()

      //Create dedicated db queue
      self.dispatchQueue = dispatch_queue_create("com.myapp.db", DISPATCH_QUEUE_SERIAL)

      //Assign db queue to manager
      self.manager.dispatchQueue = self.dispatchQueue
   }


   public func getDb() -> CBLDatabase {
        var database : CBLDatabase?

        //Dispatch self.manager operation on db queue
        dispatch_sync(self.dispatchQueue, {[unowned self] in
            //FREEZE
            database = self.manager.existingDatabaseNamed("mydb", error: nil)
        })

        return database;   
   }    
}