未熟学生エンジニアのブログ

Tetsuの個人開発ブログ

FlutterやWeb周り全般、チーム開発について書くブログ

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文の処理
    }