gpt4 book ai didi

ios - sendAsynchronousRequest 说它在展开可选值时发现 nil

转载 作者:可可西里 更新时间:2023-11-01 02:27:26 30 4
gpt4 key购买 nike

这是我的代码崩溃的部分:

let bodyData = "username=" + username + "&password=" + password

let URL: NSURL = NSURL(string: "URL OF A PHP FILE")!
let request:NSMutableURLRequest = NSMutableURLRequest(URL:URL)
request.HTTPMethod = "POST"
request.HTTPBody = bodyData.dataUsingEncoding(NSUTF8StringEncoding);
NSURLConnection.sendAsynchronousRequest(request, queue: NSOperationQueue.mainQueue()) // Crashes here !
{
(response, data, error) in

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

[Rest of the code]
}

错误是:

fatal error: unexpectedly found nil while unwrapping an Optional value

我认为是 NSURLConnection.sendAsynchronousRequest 导致我的应用程序崩溃,因为我已经调试了我的应用程序并在那里崩溃

这是请求的值:

<NSMutableURLRequest: 0x14d55b70> { URL: [URL OF PHP FILE] }

我知道数据变量不是零

最佳答案

根据sendAsynchronousRequest documentation ,回调中的 responsedataerror 变量都是隐式展开的可选值。如果其中任何一个为 nil,将在运行时抛出 fatal error 。

要解决此问题,请在回调 block 中将它们定义为普通可选值,并像往常一样使用可选绑定(bind)或值检查将它们解包。

NSURLConnection.sendAsynchronousRequest(request, queue: NSOperationQueue.mainQueue()) {
(response: NSURLResponse?, data: NSData?, error: NSError?) in
// ...
}

关于ios - sendAsynchronousRequest 说它在展开可选值时发现 nil,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26682138/

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