【问题标题】:Cannot convert value of type '(NSURLRequest, HTTPURLResponse?, AnyObject?, NSError?) -> Void' to expected argument type '(DataResponse<Any>) -> Void'无法将类型 '(NSURLRequest, HTTPURLResponse?, AnyObject?, NSError?) -> Void' 的值转换为预期的参数类型 '(DataResponse<Any>) -> Void'
【发布时间】:2017-06-18 13:52:52
【问题描述】:

我通过codingforentrepreneurs.com学习如何制作iOS应用

现在我研究 Alamofire。 Xcode 是 8.3.3

这是错误命令。我不明白错误命令。

无法转换类型 '(NSURLRequest, HTTPURLResponse?, AnyObject?, NSError?) -> Void' 到预期的参数类型 '(DataResponse) -> 无效'

这是 ViewController.swift

import UIKit
import Alamofire

    class ViewController: UIViewController {

        override func viewDidLoad() {
            super.viewDidLoad()
            // Do any additional setup after loading the view, typically from a nib.
            var rTest = Alamofire.request("http://ec2-52-78-193-10.ap-northeast-2.compute.amazonaws.com", method: .get)
            .responseJSON(completionHandler: isComplete)
        }

        func isComplete(request:NSURLRequest, response: HTTPURLResponse?, data: AnyObject?, error:NSError?) -> Void {
            print(response!.statusCode)
            print(data)
            print(error)
            print(request)

        }

        override func didReceiveMemoryWarning() {
            super.didReceiveMemoryWarning()
            // Dispose of any resources that can be recreated.
        }


    }

我不知道有什么问题。 你能帮帮我吗?

【问题讨论】:

  • AnyObjectNSError 看起来像一个过时的教程。

标签: swift xcode alamofire


【解决方案1】:

完成处理方法的签名应该是这样的。

func isComplete(response: DataResponse<Any>) {
    let statusCode = response?.response?.statusCode
    let result = response?.result
    let request = response?.request
} 

【讨论】:

    【解决方案2】:

    在这种情况下,错误正确地描述了问题。

    您传入的完成处理程序是 (NSURLRequest, HTTPURLResponse?, AnyObject?, NSError?) -&gt; Void 类型,但这不是 Alamofire 完成处理程序的正确类型。正确的类型是(DataResponse) -&gt; Void

    这意味着您需要将 isComplete 方法更改为:

    func isComplete(dataResponse: DataResponse<Any>) -> Void {
        print(dataResponse)
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-08-14
      • 1970-01-01
      • 2016-11-21
      • 1970-01-01
      • 1970-01-01
      • 2017-01-13
      • 1970-01-01
      • 2018-05-10
      相关资源
      最近更新 更多