为什么从这个URL中检索数据返回零?
我正在关注这个post获取JSON数据 ,由于某种原因,这个函数:
func getJSON(urlToRequest: String) -> NSData { return NSData(contentsOfURL: NSURL(string: urlToRequest)!)! }
返回nil
因为我得到的错误:
fatal error: unexpectedly found nil while unwrapping an Optional value
我已经打破了这个function:
func getJSON(urlToRequest: String) -> NSData { let url : NSURL! = NSURL(string: urlToRequest) let data : NSData! = NSData(contentsOfURL: url) return data }
根据我的debugging器:
Printing description of url: www.reddit.com/r/earthporn/.json Printing description of data: (NSData!) data = nil
将url粘贴到Chrome中并不会产生空白页面。 它提供了大量的JSON,所以我很困惑为什么data
是零?
你忘了添加urlscheme。 NSURL需要完整的地址。 你也应该使用,如果让安全地解开你的可选数据:
func getJSON(urlToRequest: String) -> NSData? { if let url = NSURL(string: urlToRequest) { if let data = NSData(contentsOfURL: url) { return data } } return nil } if let myData = getJSON("http://www.reddit.com/r/earthporn/.json") { println("there is data") // "there is data in myData" }