3
我有一個錯誤,而一個UIImage的分配給UIImageView的斯威夫特致命錯誤:意外發現零而展開的可選值的UIImage
func connectionDidFinishLoading(connection: NSURLConnection!) {
var err: NSError
var jsonResult : NSDictionary = NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.MutableContainers, error: nil) as NSDictionary
println("\(jsonResult)")
if jsonResult.count > 0 {
let homepage = jsonResult.objectForKey("homepage") as NSMutableDictionary
if homepage.count > 0 {
let imageUrl = homepage.objectForKey("url_img") as NSString
let backgroundImageUrl = NSURL.URLWithString(imageUrl)
let backgroundImageData = NSData(contentsOfURL: backgroundImageUrl)
var image :UIImage = UIImage(data: backgroundImageData)
println("\(image)")
self.backgroundImage.image = image
}
}
}
的財產圖像這是從一個GET請求的委託功能。 backgroundImageData
和image
不是零,但它不起作用,我不明白。
我和斯威夫特對於新手:■
客觀-C
NSString *imageUrl = [metaData objectForKey:@"url_img"];
NSURL *backgroundImageUrl = [NSURL URLWithString:imageUrl];
NSData *backgroundImageData = [NSData dataWithContentsOfURL:backgroundImageUrl];
self.backgroundImage.image = [UIImage imageWithData:backgroundImageData];
你真的需要開始使用swift 。全部潛力,如果你可能並不總是有你應該使用的圖像: '如果讓圖像=的UIImage(數據:backgroundImageData){ self.backgroundImage.image =圖像 '} 如果圖像絕對不是零則我可以建議的是,也許嘗試不要調用var image?在以前的Xcode beta中,我偶爾遇到了與變量相同的屬性問題 – simonthumper 2014-10-20 17:17:37
這是一個問題,在XCode 6.1之前,初始值設定項不能返回可選值,並且在這裏爲數據和圖像使用兩種不同的初始值設定項。我會試着立即將這些選項與'as Data?'和'UIImage?'一起轉換成可選項,然後看看你得到了什麼。 – cmyr 2014-10-20 17:35:47
當你登錄圖像時它會打印什麼?你是否將圖像視圖正確添加爲子視圖?檢查backgroundImage的框架。檢查它的超級查看。你把它正確地連接起來了嗎?你有沒有檢查它是否是正確的網址?爲背景顏色着色以確保正確添加並具有正確的大小。並請顯示如何設置backgroundImage屬性。 – 2014-10-20 17:37:49