2016-11-18 80 views
2

我實際上是試圖解析一個JSON對象與Xcode8.1上的Swift3。 這是我的代碼:如何檢查字段類型是否有?是沒有Ø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") 
    } 
} 

我收到此錯誤信息:Could not cast value of type 'NSNull' (0x4587b68) to 'NSString' (0x366d5f4)在該行msg = tmp as! String

我不理解爲什麼我得到這個錯誤,因爲TMP的類型是Any,它應該顯示打印的,而不是轉換tmp as! String

謝謝你的幫助,

回答

3

您可以添加鑄造在let

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

與SWIFT 3,例如:

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

可以檢查字段對象爲:

if self.object is NSNull { 
    // nil 
}