2016-03-03 25 views
0

我怎么能写出下面的代码在Objective C:迅速客观账套图像舞会Facebook登录

let strPictureURL: String = (result.objectForKey("picture")?.objectForKey("data")?.objectForKey("url") as? String)! 
self.ivUserProfileImage.image = UIImage(data: NSData(contentsOfURL: NSURL(string: strPictureURL)!)!) 

我一直在试图重写目标C代码,并没有找到一种方法来设置来自NSString的图像。到目前为止,我管理这个:

NSString *strPictureURL = [[[result objectForKey:@"picture"] objectForKey: @"data"] objectForKey:@"url"]; 
+0

你为什么试图将'objectForKey:'转换为'valueForKey:'。使用'objectForKey:'。 – rmaddy

+0

您是否尝试翻译代码以从NSString创建'NSURL'?那么'NSURL'中的'NSData'?那么从'NSData'中的'UIImage'?你不需要看Swift代码在Objective-C中编写这样的代码。 – rmaddy

+0

你是对的@rmaddy。我编辑了我的问题。 – asheyla

回答

0

我设法使其工作是这样的: 的NSString * strPictureURL = [[[导致objectForKey:@ “图片报”] objectForKey:@ “数据”] objectForKey :@ “URL”]; UIImage * im = [UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:strPictureURL]]]; [self.imageProfilePic setImage:im];

0
NSString *strPictureURL = [[[result objectForKey:@"picture"] objectForKey: @"data"] objectForKey:@"url"];  
self.ivUserProfileImage.image = [UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:strPictureUrl]]]; 
+0

我试过了你的代码,它不会弹出错误。但它不会更新nsstring中的图像。我已经打印strPictureURL,它看起来不错。 – asheyla

+1

你可能会更好地将不同对象的每一步分开来按顺序查看它们的值。尝试声明每个对象,例如NSData * data = [NSData dataWithContentsOfURL:[NSURL URLWithString:strPictureUrl]]; ,然后UIImage * image = [UIImage imageWithData:data];这样你就可以更好地理解发生了什么 – juliensaad

+0

我只是要做出同样的评论。切勿将太多的代码嵌入到一行中。这是不可能的调试和难以阅读。 – rmaddy