2015-04-26 53 views
1

我在viewDidLoad()中的代碼抱怨沒有!在下面的語句:Swift:將UIImage設置爲背景

view.backgroundColor = UIColor.colorWithPatternImage(UIImage(named: "background.jpg")) 

然而,當我把它改成這樣的建議:

view.backgroundColor = UIColor.colorWithPatternImage(UIImage(named: "background.jpg")!) 

它提供了以下錯誤:

fatal error: unexpectedly found nil while unwrapping an Optional value

同樣,任何幫助將不勝不勝感激!

+1

'background.jpg'確實存在嗎? – ABakerSmith

+0

它的確如此。我這次把它添加到圖書館。我想你可能看過我以前的帖子。 XD – HowbeitGirl

+0

並嘗試不使用.jpg表達式。仍然沒有工作。 – HowbeitGirl

回答

5

你的代碼改成這樣:

if let image = UIImage(named: "background.jpg") { 
    view.backgroundColor = UIColor.colorWithPatternImage(image) 
} else { 
    println("There was no such image as background.jpg") 
} 

這樣,你會不會崩潰,而println將登錄到控制檯,並證明給你看,圖像不存在 - 直到它,當然。

+2

必須+1這真的很難。這個答案不會突然使'UIImage(named:「background.jpg)'返回非零,但它確實消除了在這裏,那裏和各處擺脫編譯的非常糟糕的模式,只是拋出'!無論出於何種原因,人們無法理解的錯誤。 – nhgrif