由于模棱两可的方法调用错误,Built.io 在 iOS 应用程序中集成失败

Built.io integration failed in iOS application due to ambiguous method call error

我正在尝试使用 Xcode 9.1 和 swift 4 将 built.io 集成到 iOS 应用程序中,但由于模糊的保存调用错误而失败,尽管我只有调用此方法一次仍然表示模棱两可的调用。我无法确定问题所在。 我提到这个 link 将 sdk 集成到 iOS 中:

使用的代码是

导入 UIKit 导入内容栈 导入 BuiltIO

class ViewController: UIViewController {

func built(){
    var builtApplication : BuiltApplication = Built.application(withAPIKey: "")
    var pc : BuiltClass = builtApplication.class(withUID: "test")
    var projectObject:BuiltObject = pc.object()

    projectObject.save { (responseType, err) in //ambiguous error here on save call
        if err != nil {
            print("Err")
        } else {
            print("Success")
        }
    }
}
override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.
}

}

我已经在使用cocoapod的项目中安装了sdk。下图包含显示错误的应用程序屏幕截图。我正在使用 BuiltObject class 对象来调用保存方法,但是当我进入保存方法时,它会将我带到 BuiltKeyStore class 的方法,我完全不明白为什么?请帮忙,提前致谢

您需要将 completionBlock 作为参数传递,而不是 inline。 试试下面的代码,它适用于 Swift 3.2 & 4,

    let completionBlock:BuiltRequestCompletionHandler = { (responseType:BuiltResponseType, error:Error?) in
        if error != nil {
            print("Err")
        } else {
            print("Success")
        }
    }

    projectObject.save(completionBlock)

试一试,肯定有用。