我不知道原因,但我无法检查UIImage是nil
是代码
var arrayBuildingImage: [UIImage] = []
for(var i = 0; i <= 100; i++){
var path:String = self.getDocumentsDirectory().stringByAppendingPathComponent("building/\(i).png")
if ( arrayBuildingImage[i] = UIImage(contentsOfFile: path)? ) {//ERROR HERE
}
else{
break
}
}
错误:
Type()不符合协议&#39; BooleanType&#39;
我使用的是Swift 1.1
答案 0 :(得分:1)
您应该检查它是否为零
let img : UIImage? = UIImage(contentsOfFile: path)
if img != nil {}
或使用&#34;如果让&#34;语句:
if let img = UIImage(contentsOfFile: path) {}
并在更多&#34; Swifty&#34;方式:
guard let img = UIImage(contentsOfFile: path) else { return }
// Do you stuff here
答案 1 :(得分:0)
试试这个:
arrayBuildingImage[i] = UIImage(contentsOfFile: path)?
if ( arrayBuildingImage[i] != nil ) {//ERROR HERE
}
else{
break
}
答案 2 :(得分:0)
您正在使用Swift。
在Swift中,“if”语句的操作数必须是布尔表达式。赋值运算符不生成任何值(如果您愿意,则生成Void类型的值)。
将赋值结果与nil进行比较,或者更好地使用“if let”。