网络调用语法的编译器错误 Xcode

Compiler error for network call syntax Xcode

我想不通代码有什么问题。请帮忙。该应用程序可以使用 Xcode 存档而不会出现任何错误,但不能使用第三方平台。谢谢。

第三方平台编译报错

❌ /Users/App/APICall.swift:636:132: consecutive statements on a line must be separated by ';' APIManager.request.loadUser(name: name, code: code) { (userId, success) in success("(userId)") } failure: { (error, errorStr) in failure(error,errorStr) } ^

❌ /Users/App/APICall.swift:636:140: consecutive statements on a line must be separated by ';' APIManager.request.loadUser(name: name, code: code) { (userId, success) in success("(userId)") } failure: { (error, errorStr) in failure(error,errorStr) } ^

❌ /Users/App/APICall.swift:636:140: expected expression APIManager.request.loadUser(name: name, code: code) { (userId, success) in success("(userId)") } failure: { (error, errorStr) in failure(error,errorStr) } ^

❌ /Users/App/APICall.swift:636:77: missing argument for parameter 'success' in call
APIManager.request.loadUser(name: name, code: code) { (userId, success) in success("(userId)") } failure: { (error, errorStr) in failure(error,errorStr) } ^

❌ /Users/App/APICall.swift:636:133: expression resolves to an unused function
APIManager.request.loadUser(name: name, code: code) { (userId, success) in success("(userId)") } failure: { (error, errorStr) in failure(error,errorStr) } ^

❌ /Users/App/APICall.swift:636:142: closure expression is unused APIManager.request.loadUser(name: name, code: code) { (userId, success) in success("(userId)") } failure: { (error, errorStr) in failure(error,errorStr) } ^~~~~~~

func updateUser(name: String, code: String, success: @escaping ((_ userCode: String) -> Void), failure: @escaping ((_ error: APIManager.UpdateError, _ errorMessage: String) -> Void)) {
        APIManager.request(url, method: .post, parameters: parameters)
                    .responseJSON { response in
                        switch response.result {
                        case .success(let data):
                            let json : [String: JSON] = JSON(data).dictionaryValue
                            
                            if (json["status"] == "success") {
                               APIManager.request.loadUser(name: name, code: code) { (userId, success) in
                                    success("\(userId)")
                                } failure: { (error, errorStr) in
                                    failure(error,errorStr) }
                            } else  {
                                failure(APIManager.UpdateError(rawValue: json["error"]!.intValue)!, json["error_message"]!.stringValue)
                            }
                        case .failure(_):
                               print("Call failed.")
                            }
                        }
                    }
    }

您正在尝试使用 Swift 5.3 语言功能。见

https://www.biteinteractive.com/swift-5-3-and-trailing-closures/

问题是您没有使用 Swift 5.3。您需要更新 Xcode(或者“第三方平台”需要更新其 Swift 编译器)。