1

我有这个代码:

let task = session.dataTaskWithRequest(request, completionHandler: { (data, response, error) -> Void in

            guard let response = data else {
                print("Error: did not receive data")
                return
            }

            guard error == nil else {
                print("error")
                print(error)
                return
            }

            let httpResponse = response as! NSHTTPURLResponse
            let statusCode = httpResponse.statusCode

            if (statusCode == 200) {
                print("OK!!!")
            }
        })

        task.resume()

在线:let httpResponse = response as! NSHTTPURLResponse我有这个奇怪的警告:Cast from 'NSData' to unrelated type 'NSHTTPURLResponse' always fails

我应该如何摆脱它?谢谢!

4

1 回答 1

1

您正在解开data一个名为 的常量中的内容response。这是您的问题的根源,因为那时您正在使用一个认为您正在使用另一个。

另外,为什么要强行解开沮丧的情绪?

guard最好像你已经做的那样继续使用。

例子:

let task = session.dataTaskWithRequest(request, completionHandler: { (data, response, error) -> Void in

    guard let data = data else {
        print("Error: did not receive data")
        return
    }

    guard error == nil else {
        print("error")
        print(error)
        return
    }

    guard let httpResponse = response as? NSHTTPURLResponse else {
        print("response unavailable")
        return
    }

    let statusCode = httpResponse.statusCode

    if statusCode == 200 {
        print("OK!!!")
    }
})

task.resume()
于 2016-03-14T19:26:11.423 回答