无法找到接受Swift中提供的参数的“init”的重载

我试图弄清楚如何在Swift中翻译它,我也有这个错误:“无法找到接受提供的参数的”init“的重载”。 任何建议表示赞赏。 谢谢。

var pageImages:[UIImage] = [UIImage]() pageImages = [UIImage(named: "example.png"), UIImage(named: "example2.png")] 

确认哑光说:

在xCode 6.0中,这确实有效:

 images = [UIImage(named: "steps_normal"), UIImage(named: "steps_big")] 

但是在xCode6.1中,值应该被解包:

 images = [UIImage(named: "steps_normal")!, UIImage(named: "steps_big")!] 

解开那些选项。 UIImage与UIImage?不同,它就是named: initializer返回的内容。 从而:

 var pageImages = [UIImage(named: "example.png")!, UIImage(named: "example2.png")!] 

(当然,除非你真的想要一组可选的UIImages。)

UIImage(named:)改为Xcode 6.1中的一个可用的初始化程序 ,这意味着如果您列出的任何图像都从包中丢失,它将返回nil 。 要安全地加载图像,请尝试使用以下内容:

 var pageImages = [UIImage]() for name in ["example.png", "example2.png"] { if let image = UIImage(named: name) { pageImages.append(image) } }