我是这个新手,但过去常常在这里搜索特定的内容,由于我找不到特定的答案,也许这里有人可以提供帮助。
我基本上是在学习和构建应用程序。
目前,我已经建立了登录,注册视图控制器等。
使用php和mysql服务器。
由于即时消息正在使用并逐步占用堆栈溢出
我遇到了警报控制消息问题和NSURLConnection的问题
现在我知道NSURLConnection
替换为NSURLSession
但是我无法实现它,很难解决这个问题。
我的代码如下:
let request:NSMutableURLRequest = NSMutableURLRequest(URL: url)
request.HTTPMethod = "POST"
request.HTTPBody = postData
request.setValue(postLength as String, forHTTPHeaderField: "Content-Length")
request.setValue("application/x-www-form-urlencoded", forHTTPHeaderField: "Content-Type")
request.setValue("application/json", forHTTPHeaderField: "Accept")
var reponseError: NSError?
var response: NSURLResponse?
var urlData: NSData?
do {
urlData = try NSURLConnection.sendSynchronousRequest(request, returningResponse:&response)
} catch let error as NSError {
reponseError = error
urlData = nil
}
这给了我这个问题
sendSynchronousRequest(_:returningResponse :)在iOS 9.0中已弃用:使用[NSURLSession dataTaskWithRequest:completionHandler:](请参阅NSURLSession.h)
我如何实现此功能以与
NSURLSession
一起使用?第二个问题是打开警报消息
alertView.delegate = self
是问题,我已经尝试了几种不同的操作,例如替换了alertView,但是它不起作用,我尝试了alertController,等等。没有任何效果: if let error = reponseError {
alertController.message = (error.localizedDescription)
}
alertView.delegate = self
alertController.addAction(OKAction)
self.presentViewController(alertController, animated: true) { }
}
} catch {
let alertController:UIAlertController = UIAlertController(title: "Sign up Failed", message: "Server Error", preferredStyle: .Alert)
let OKAction = UIAlertAction(title: "OK", style: .Default) { (action) in }
alertController.addAction(OKAction)
self.presentViewController(alertController, animated: true) { }
}
问题是:
使用未解决的标识符“ alertView”
这在一个名为
signup.VC
的Swift文件中。 最佳答案
不要使用同步请求,而是创建一个异步请求,然后在完成处理程序块中,将当前出现的所有代码放在catch块结束之后,使其在请求完成后执行。
我不知道您的第二个问题,因为您没有在声明alertView变量的位置包含代码。
关于swift - 警报控制消息和NSURLSession,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38412371/