私は実際にXcode8.1でSwift3を使用してJsonオブジェクトを解析しようとしています。 これは私のコードです:
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
お手伝いありがとう、
回答:
回答№1は4キャストを追加できます let
.
if let tmp = objData.object(forKey: "Message") as? String {
msg = tmp
}
回答№2の場合は0
Swift 3では、たとえば:
fileprivate var rawNull: NSNull = NSNull()
public var object: Any {
get {
return self.rawNull
}
}
次のようにフィールドオブジェクトを確認できます。
if self.object is NSNull {
// nil
}