所以我使用AlamoFire庫來下載一個圖像url,它返回對象'avatarData'的NSData。但我不知道如何將這個信息保存到一個NSImage對象中以供以後在視圖中使用。從Swift中下載NSData創建一個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 ...
謝謝大衛! XCode編譯器對此表示錯誤,認爲它不能「隱式」下載avatarData來鍵入NSData。用'let backgroundImage = NSImage(data:avatarData as NSData)'明確地轉換類型'做了它。我不知道是否有這樣做的缺點或任何東西.. – Pirijan 2014-10-08 01:18:43
我從來沒有使用Alamodome,所以不真正知道,但從命名我會認爲它始終是一個MSData。爲了安全起見,你應該把它包裝在一個if let語句中 – 2014-10-08 05:57:27