2016-11-18 1 views
2

私は実際にXcode8.1でSwift3でJsonオブジェクトを解析しようとしています。このラインmsg = tmp as! StringCould not cast value of type 'NSNull' (0x4587b68) to 'NSString' (0x366d5f4)フィールドの種類を確認する方法Any? is Null o NSNull

if let objData = objJson["DATA"] as! NSDictionary? { 
    var msg: String = "" 
    if let tmp = objData.object(forKey: "Message") { 
     msg = tmp as! String 
    } else { 
     print("NIIILLLLL") 
    } 
} 

私は、このエラーメッセージが出てい: これは私のコードです。私はTMPの種類がAnyあるので、私はこのエラーを取得していますし、それが

tmp as! Stringが助けてくれてありがとう代わりに、変換のプリントを表示しなければならない理由を理解していないよ

答えて

3

あなたが追加することができますキャストはletです。例えばスウィフト3で

if let tmp = objData.object(forKey: "Message") as? String { 
    msg = tmp 
} 
0

、:あなたがフィールドオブジェクトを確認することができます

fileprivate var rawNull: NSNull = NSNull() 
public var object: Any { 
    get { 
     return self.rawNull 
    } 
} 

として:

if self.object is NSNull { 
    // nil 
} 
関連する問題