我有以下代码,每行都有一个断点。它撞到以var image : UIImage开始的行,然后由于nil错误而崩溃。我有一个名为Saturation.png的文件。我已经尝试了没有扩展名以及使用named而不是contentsOfFile

我没有尝试过那条线。

func addSubviews() {
    if(filter != nil) {
    var image : UIImage = UIImage(contentsOfFile: "Saturation.png")!
    let view = UIImageView(image: image)
    contentView.addSubview(view)

    let filterNameLabel = UILabel(frame: CGRectMake(0, 66, 66, 20))
    filterNameLabel.text = filter.name!.stringByReplacingOccurrencesOfString("Amount", withString: "", options: NSStringCompareOptions.LiteralSearch, range: nil)
    filterNameLabel.textAlignment = .Center
    filterNameLabel.textColor = UIColor(white: 0.9, alpha: 1.0)
    filterNameLabel.highlightedTextColor = tintColor
    filterNameLabel.font = UIFont.systemFontOfSize(12)
    contentView.addSubview(filterNameLabel)
    }
}

最佳答案

contentsOfFile:需要映像的完整路径,而不仅仅是文件名,它不会去对您进行搜索,因为该搜索可能涉及大量的目录和文件。您需要获取完整路径,可能使用NSBundle取决于文件所在的Nd。

关于ios - 尝试创建UIImage返回:解开Optional值时意外发现nil,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29643227/

10-08 20:55