gpt4 book ai didi

ios - Swift & Couchbase Lite 发出函数导致 EXC_BAD_ACCESS(代码 = 2)

转载 作者:可可西里 更新时间:2023-11-01 00:18:19 24 4
gpt4 key购买 nike

我是 Couchbase 和 Swift 的新手,我正在尝试建立一个候选架构并运行我正在开发的新应用程序。我认为 Couchbase 非常适合,除了我无法在不崩溃的情况下让它工作这一事实。这可能有几个原因,但为了全面检查,我只是想弄清楚这是否是我做错了什么。

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

  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 中的一个错误。如果是,我想将问题报告给 Apple,但我对 Couchbase Mobile SDK 的工作原理和 Swift 的理解仍然非常有限。如果有人设法让 Couchbase Lite 与 Swift 一起工作,那么如果你能帮助我就太好了。或者更好的是,如果 Github 上有一个用 Swift 编写的示例项目,那对我来说就是黄金了。

最佳答案

这不是我写的,但这里有一个非常好的 swift couchbaselite 备忘单,里面有 View 。

https://github.com/zemirco/swift-couchbaselite-cheatsheet

关于ios - Swift & Couchbase Lite 发出函数导致 EXC_BAD_ACCESS(代码 = 2),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24838313/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com