ios – 在Swift中扩展自定义对象 – 扩展

ios – 在Swift中扩展自定义对象 – 扩展,第1张

概述我正在使用 Swift 4.0上的iOS应用程序.该应用程序使用第三方SDK,其中有一个模型可以说, class Customer: NSCopying, NSObject { var name: String! var age: Int! var address: Address!} 那时我没有控制权来修改模型的任何属性和签名作为其内部SDK.但是我需要将对象存储在磁 我正在使用 Swift 4.0上的iOS应用程序.该应用程序使用第三方SDK,其中有一个模型可以说,

class Customer: NScopying,NSObject {    var name: String!    var age: Int!    var address: Address!}

那时我没有控制权来修改模型的任何属性和签名作为其内部SDK.但是我需要将对象存储在磁盘/用户默认值中并在需要时加载.

可能吗?如果是的话我该怎么做?

解决方法 一种方法是使用 SwiftyJSON将模型对象转换为JsON数据:

extension Customer {    func toJsON() -> JsON {        return [            "name": name            "age": age            "address": address.toJsON() // add a toJsON method the same way in an Address extension        ]    }    static func fromJsON(_ Json: JsON) -> Customer {        let customer = Customer()        customer.name = Json["name"].string        customer.age = Json["age"].int        customer.address = Address.fromJsON(Json["address"]) // add a fromJsON method the same way    }}

现在您可以执行类似保存到UserDefaults的 *** 作

UserDefaults.standard.set(try! Customer().toJsON().rawData(),forKey: "my key")let customer = Customer.fromJsON(JsON(data: UserDefaults.standard.data(forKey: "my key")!))
总结

以上是内存溢出为你收集整理的ios – 在Swift中扩展自定义对象 – 扩展全部内容,希望文章能够帮你解决ios – 在Swift中扩展自定义对象 – 扩展所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1033394.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存