Swift:将UIImage设置为背景

How*_*irl 1 uiimage uicolor ios swift

我在viewDidLoad()中的行抱怨没有!在以下声明中:

 view.backgroundColor = UIColor.colorWithPatternImage(UIImage(named: "background.jpg"))
Run Code Online (Sandbox Code Playgroud)

但是,当我按照建议将其更改为此时:

 view.backgroundColor = UIColor.colorWithPatternImage(UIImage(named: "background.jpg")!)
Run Code Online (Sandbox Code Playgroud)

它给出以下错误:

致命错误:在展开Optional值时意外发现nil

再次,任何帮助将不胜感激!

mat*_*att 5

将您的代码更改为:

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

这样你就不会崩溃,并且println会记录到控制台并向你证明图像不存在 - 当然,直到它存在.

  • 必须非常难以+1.这个答案不会突然使`UIImage(命名:"background.jpg")`返回非零,但它确实消除了在这里,那里,以及到处摆脱编译```的非常糟糕的模式人们因任何原因无法理解的错误. (2认同)