2016-09-22 11 views
0

Swift 3.0互換にする関数を変換しようとしています。しかしラインで種類Anyには、下付き文字がありません。Swift 3.0

fileprivate func checkForAuthorizationFailure(_ json: Any) -> Bool { 

     let responseMessage = json["response"]! as? String 
     if responseMessage == "Unauthorized. Invalid token or email." { 
      return true 
     } 

     return false 
    } 

let responseMessage = json["response"]! as? String私は今、エラーを取得しています:AnyAnyObjectからパラメータjsonを変更しなければならなかった「どれが何の添字のメンバーを持っていないタイプ」。私はここで間違って何をしていますか?

+0

http://stackoverflow.com/questions/39549107/swift-3-type-any-has-no-subscript-members/39549477#39549477を比較 – xhamr

答えて

5

サブスクリプトを使用する前に、任意のAnyObjectにキャストする必要があります。

fileprivate func checkForAuthorizationFailure(_ json: Any) -> Bool { 

    let responseMessage = (json as AnyObject)["response"]! as? String 
    if responseMessage == "Unauthorized. Invalid token or email." { 
     return true 
    } 

    return false 
} 
関連する問題