Alamofire.upload SwiftLint 违规

Alamofire.upload SwiftLint violation

使用 Alamofire 上传图片的代码触发了 SwiftLint 违规。如何修复?

Alamofire.upload(multipartFormData: { (multipartFormData) in

                multipartFormData.append(imageData, withName: "profileImage", fileName: "image.png", mimeType: "image/jpg")
            }, usingThreshold: UInt64.init(), to: requestURL, method: .post, headers: headers) { (result) in
                switch result {
                case .success(let upload, _, _):
                    upload.responseJSON { response in
                        if let error = response.error {
                            completionBlock(.failure(error as NSError))
                            return
                        }
                        completionBlock(.success(response))
                    }
                case .failure(let error):
                    completionBlock(.failure(error as NSError))
                }
            }

Multiple Closures with Trailing Closure Violation: Trailing closure syntax should not be used when passing more than one closure argument. (multiple_closures_with_trailing_closure)

错误是告诉您当有多个闭包参数时不要使用尾随闭包语法。

Alamofire.upload(multipartFormData: { (multipartFormData) in
    multipartFormData.append(imageData, withName: "profileImage", fileName: "image.png", mimeType: "image/jpg")
}, usingThreshold: UInt64.init(), to: requestURL, method: .post, headers: headers, encodingCompletion: { (result) in
    switch result {
    case .success(let upload, _, _):
        upload.responseJSON { response in
            if let error = response.error {
                completionBlock(.failure(error as NSError))
                return
            }
            completionBlock(.success(response))
        }
    case .failure(let error):
        completionBlock(.failure(error as NSError))
    }
})