読者です 読者をやめる 読者になる 読者になる

ミスターFのいろいろプログラミング

(主にSwift)プログラミング日記。札幌在住。

Swift3でObjCBoolとBoolが変換できない件

xcode8にアップデートした際にswift3.0用にコンパイラを変更したのだが、 ObjcBoolをif文で処理しようとするとエラーが出たのでその解決法を書いておく

問題のコード

    let isdir:ObjCBool = false
    if !isdir {
        //if文の処理
    }

上のように書くと、2行目で Cannot convert value of type 'ObjCBool' to expected argument type 'Bool' のエラーが出た。

解決法

if !isdir.boolValue としてやればよい。

    let isdir:ObjCBool = false
    if !isdir.boolValue{
        //if文の処理
    }