我想从php服务器获取swift中的数据 . 但是,当我使用NSData(contentsOfURL:url!)时,我得到了nil,我的应用程序因错误而崩溃:'致命错误:在解开一个Optional值时意外地发现了nil' . 这是因为我的服务器服务暂时不可用
我的代码是:
let strURL: String = "http://domain.com/myphpfile.php?username="+userTF.text!+"&pass="+passTF.text!
let url = NSURL(string: strURL)
let dataURL = NSData(contentsOfURL: url!) //Here return nil
如何控制我的链接何时返回nil我显示一条消息但我的应用程序没有关闭?
谢谢!
1 回答
避免使用带有
!
的强制解包值,而是使用if let
安全地解包:Hint: don't use NSData contentsOfURL anyway, use something like NSURLSession instead. 这是因为
contentsOfURL
阻止主线程在工作时冻结UI并可能导致应用程序被iOS杀死 .