我正在抓取用户正在制作的应用的Facebook个人资料照片,并将其加载到他们名字上方的设置页面上。当我加载照片时,我使用此代码:
func getProfilePic(){
let params: [NSObject : AnyObject] = ["redirect": false, "height": 400, "width": 400, "type": "small"]
let pictureRequest = FBSDKGraphRequest(graphPath: "me/picture", parameters: params, HTTPMethod: "GET")
pictureRequest.startWithCompletionHandler({
(connection, result, error: NSError!) -> Void in
if error == nil {
print("\(result)")
let dictionary = result as? NSDictionary
let data = dictionary?.objectForKey("data")
let urlPic = (data?.objectForKey("url"))! as! String
print(urlPic)
let url = NSURL(string: urlPic)
let data2 = NSData(contentsOfURL:url!)
if data2 != nil {
self.photo = UIImage(data:data2!)!
}
} else {
print("\(error)")
}
})
}
第一次在Simulator中加载视图时效果很好。但是,如果我导航到我的菜单,它使用下面的代码,然后导航回来,照片已从其UIImage视图中消失。
导航到叠加菜单:
@IBAction func navToMenu(sender: AnyObject) {
let vc = self.storyboard!.instantiateViewControllerWithIdentifier("userMainMenu")
vc.view.backgroundColor = UIColor(red: 240/255, green: 112/255, blue: 49/255, alpha: 0.9)
vc.modalPresentationStyle = UIModalPresentationStyle.OverFullScreen
vc.modalTransitionStyle = UIModalTransitionStyle.CrossDissolve
self.presentViewController(vc, animated: true, completion: nil)
}
从重叠菜单导航回设置视图:
@IBAction func navToSettings(sender: AnyObject) {
self.performSegueWithIdentifier("navToUserSettings", sender: self)
}
最后一次澄清:
加载视图 - >图片出现 - >激活覆盖菜单视图,关闭覆盖菜单视图 - >图片已消失
有没有人遇到类似的问题,或者解决了我在项目中遇到的问题?