Swift和Couchbase Lite发出导致EXC_BAD_ACCESS(代码= 2)的函数

 qiutuiq 发布于 2023-01-02 10:36

我是Couchbase和Swift的新手,我正在尝试获得一个候选架构,并且正在为我正在开发的新应用程序运行.我认为Couchbase非常合适,除了我无法在没有崩溃的情况下使用它.这可能有几个原因,但只是为了进行健全性检查,我只想弄清楚这是不是我做错了.

以下映射函数在每次调用emit函数时都会导致EXC_BAD_ACCESS错误.该函数在启动时从视图控制器调用.我检查了调试器中的参数,它们指向内存中的有效引用.以下是创建查询的函数:

  class func listEvents() -> CBLQuery? {
    if let view:CBLView = DatabaseService.sharedInstance.database.viewNamed("events") {
      if !view.mapBlock { //create the map block if it doesn't exist
        func mapBlock(doc: [NSObject: AnyObject]!, emit: ((key: AnyObject, value: AnyObject!) -> ())?) {
          if let type:AnyObject = doc["type"] {
            if type.isKindOfClass(NSString.self) && (type as String) == Event.docType() {
              if let key: AnyObject = doc["date"] {
                if let emitFunc = emit {
                  emitFunc(key: key, value: doc)
                }
              }
            }
          }
        }
        view.setMapBlock(mapBlock,
          reduceBlock: nil,
          version: "1")
      }
      return view.createQuery()
    }
    return nil
  }

我也试过重写Objective-C中的整个函数,它可以工作,所以如果没有人可以帮助我,那么我将把这个放到Swift中的一个bug中.如果是的话,我想向Apple报告这个问题,但是我对Couchbase Mobile SDK如何工作和Swift的理解仍然非常有限.如果有任何人设法让Couchbase Lite与Swift合作,那么如果你可以帮助我的话会很棒.或者甚至更好,如果在Github上有一个用Swift编写的示例项目,那么此时对我来说就是金牌.

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有