为什么从这个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" }