所以我使用AlamoFire库下载图片网址,该图片网址返回 NSData 对象' avatarData'。但我无法弄清楚如何将此信息保存到NSImage 对象中,以便稍后在视图中使用。
这是转换为NSImage 的最佳尝试:
private func GetAvatar(avatarHash: String) {
let avatar = "https://trello-avatars.s3.amazonaws.com/\(avatarHash)/30.png"
Alamofire.request(.GET, avatar)
.response {(request, response, avatarData, error) in
if (error != nil) {
self.handleConnectionError(error)
} else {
println(avatarData)
let backgroundImage = NSImage(avatarData: NSData)
}
}
}
我尝试了几种语法变体,但我通常会遇到错误:
expected member name or constructor call after type name
和/或
missing argument for parameter 'flipped' in call
以下是println(avatarData)
Optional(<89504e47 0d0a1a0a 0000000d 49484452 0000001e 0000001e 08020000 01c35509 63000008 72494441 5448c705 ...
答案 0 :(得分:3)
avatarData
是一个NSData,NSImage
有一个带NSData
的构造函数,只需使用它:
let image = NSImage(data:avatarData!)
答案 1 :(得分:1)
您可以使用我编写的类,简化从Web上异步下载图像并使用NSImageView和Swift(由其他人从Objective-C版本移植)显示它们: https://github.com/davecom/DKAsyncImageView