gpt4 book ai didi

ios - Swift 根本无法发送 URLRequest?

转载 作者:搜寻专家 更新时间:2023-11-01 06:10:00 26 4
gpt4 key购买 nike

无论我做什么,我似乎都无法成功发送请求。鉴于下面的示例代码,我逐字复制只是为了查看结果。然而什么也没有发生,我真的很困惑,需要帮助弄清楚为什么我可以用 objective-c 发送请求,但无论有多少变化 swift 。

var url : String = "http://google.com?test=toto&test2=titi"

var request : NSMutableURLRequest = NSMutableURLRequest()
request.URL = NSURL(string: url)
request.HTTPMethod = "GET"

NSURLConnection.sendAsynchronousRequest(request, queue: NSOperationQueue(),

completionHandler:{ (response:NSURLResponse!, data: NSData!, error: NSError!) -> Void in
var error: AutoreleasingUnsafeMutablePointer<NSError?> = nil
let jsonResult: NSDictionary! = NSJSONSerialization.JSONObjectWithData(data, options:NSJSONReadingOptions.MutableContainers, error: error) as? NSDictionary

if (jsonResult != nil) {
println("help me")
// process jsonResult
} else {
println("hmmm")
// couldn't load JSON, look at error
}
})

最佳答案

不要命令行项目 上测试网络异步请求。执行流程将在 asynchronousRequest 终止之前停止...您需要为此添加一个运行循环Check out this link举个例子。

您应该养成打印出从请求中获得的所有内容的习惯,以了解发生了什么。在确定请求按预期工作后,您可以注释掉所有内容。

var url : String = "http://google.com?test=toto&test2=titi"

var request : NSMutableURLRequest = NSMutableURLRequest()
request.URL = NSURL(string: url)
request.HTTPMethod = "GET"

NSURLConnection.sendAsynchronousRequest(request, queue: NSOperationQueue(),

completionHandler:{ (response:NSURLResponse!, data: NSData!, error: NSError!) -> Void in

println("OK")

var strData = NSString(data: data, encoding: NSUTF8StringEncoding)

println("Body: \(strData)\n\n")
println("Response: \(response)")

var err:NSError?
let jsonResult: NSDictionary! = NSJSONSerialization.JSONObjectWithData(data, options:NSJSONReadingOptions.MutableContainers, error: &err) as? NSDictionary

if (jsonResult != nil) {
println("jsonresult : \(jsonResult)")
// process jsonResult
} else {
println(err.debugDescription)
// couldn't load JSON, look at error
}
})

我添加了一行来打印转换为 NSStringNSData。这里的数据是nil

这解释了 JSON 解析错误。

此外,您创建错误的方式也不正确。查看我的版本以更正它。

关于ios - Swift 根本无法发送 URLRequest?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27720021/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com