我是这里的新人,但过去常常在这里搜索具体的东西,因为我找不到具体的答案,也许这里有人可以提供帮助。
我基本上是在学习和构建应用程序。
目前我已经建立了登录,注册视图控制器等。 使用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
}
这给了我这个问题
在iOS 9.0中不推荐使用sendSynchronousRequest(_:returningResponse :)':使用[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文件。
答案 0 :(得分:0)
不是使用同步请求,而是创建异步请求,并在完成处理程序块中,将当前在catch块结束之后的所有代码放在上面,以便在请求完成后执行它。
我不知道你的第二个问题,因为你没有包含你声明alertView变量的代码。