我正在做一个fb请求,当我尝试将URL的内容转换为NSData时,它返回为nil?我无法解决我出错的地方,我的代码是:
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
}
}
答案 0 :(得分:0)
使用网址的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)")
}