Cocoa touch URL的内容返回为零
我正在做一个fb请求,当我试图将URL的内容转换为NSData时,它返回为nil?我不知道哪里出了问题,我的代码是:Cocoa touch URL的内容返回为零,cocoa-touch,swift,facebook-graph-api,Cocoa Touch,Swift,Facebook Graph Api,我正在做一个fb请求,当我试图将URL的内容转换为NSData时,它返回为nil?我不知道哪里出了问题,我的代码是: func fbRequestCompletionHandler(connection:FBRequestConnection!, result:AnyObject!, error:NSError!){ if let gotError = error{ //got error } else{
func fbRequestCompletionHandler(connection:FBRequestConnection!, result:AnyObject!, error:NSError!){
if let gotError = error{
//got error
}
else{
let email = result["email"]
let firstName = result["first_name"]
let userFBID = result["id"]
println(userFBID) //PRINTS THE CORRECT ID
let userImageURL = "https://graph.facebook.com/\(userFBID)/picture?type=small"
let url = NSURL(fileURLWithPath: userImageURL)
let imageData = NSData(contentsOfURL: url!)
println(imageData) //PRINTS AS NIL
}
}
采用URL的
NSData
的init
方法的定义如下:
init?(contentsOfURL url: NSURL)
?
表示它返回一个可选类型,因此返回值可以是nil
。您可以通过以下方式确定问题所在:
var error: NSError?
if let imageData = NSData(contentsOfURL: url!, options: NSDataReadingOptions(0), error: &error) {
// Success
}
else {
println("An error occurred: \(error.localizedDescription)")
}