代码之家  ›  专栏  ›  技术社区  ›  Taimoor Suleman

如何在JSON结果映射到领域对象时捕获无效类型错误

  •  -1
  • Taimoor Suleman  · 技术社区  · 8 年前

    我有一个领域模型

    class User: Object {
        @objc dynamic var _id : String? = ""
        @objc dynamic var deviceCount = 0.0
        @objc dynamic var message : String?
        @objc dynamic var user_name : String?
        @objc dynamic var status : Bool = false
        @objc dynamic var phone_number : String = ""
        @objc dynamic var role : String?
        @objc dynamic var resCode = 0
        @objc dynamic var onlineTime = ""
        override static func primaryKey() -> String? {
            return "_id"
        }
    }
    

    我正在将json结果映射到这样的对象模型。

    let user = User(value: result as NSDictionary)
    

    但是如果某个变量有不同的类型,应用程序就会崩溃。 例如:如果消息变量定义为字符串,并且在服务器响应中它不是字符串,则在映射应用程序期间将崩溃。 有没有办法处理(避免撞车)

    1 回复  |  直到 8 年前
        1
  •  1
  •   marc_s MisterSmith    8 年前

    我不想用它。怎么样 Swift.Codable 和 Swift.Decodable 构造?它的速度快得多,用语言构建,境界是一种重的方式。