簡體   English   中英

類型()不符合協議

[英]Type () does not conform to protocol

我不知道原因,但是我無法檢查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
            }

        }

錯誤:

類型()不符合通訊協定'BooleanType'

我正在使用Swift 1.1

您應該檢查它是否為零:

let img : UIImage? = UIImage(contentsOfFile: path)
if img != nil {}

或使用“ if let”語句:

if let img = UIImage(contentsOfFile: path) {}

並以更“迅速”的方式:

guard let img = UIImage(contentsOfFile: path) else { return }
// Do you stuff here

嘗試這個:

        arrayBuildingImage[i] = UIImage(contentsOfFile: path)?
        if ( arrayBuildingImage[i] != nil ) {//ERROR HERE

        }
        else{
            break
        }

您正在使用Swift。

在Swift中,“ if”語句的操作數必須是布爾表達式。 賦值運算符不產生任何值(或者,如果您願意,則不產生Void類型的值)。

要么將賦值的結果與nil進行比較,要么更好地使用“ if let”。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM