iOS - 不完美地镜像 JSON 是不是被认为是不好的做法?

Posted

技术标签:

【中文标题】iOS - 不完美地镜像 JSON 是不是被认为是不好的做法?【英文标题】:iOS - Is it considered bad practice to not mirror JSON perfectly?iOS - 不完美地镜像 JSON 是否被认为是不好的做法? 【发布时间】:2017-01-11 06:44:02 【问题描述】:

例如,假设我有这个 json:


    "media": 
        "date": "2016-12-30",
        "uniqueID": "eab0923d"

我从这个 json 创建一个对象。但请注意,它包含另一个属性,不会使其镜像 json 100%

class Media 
    var date: String?
    var uniqueID: String?
    var anotherProperty: String? // By adding this property, this object does not mirror json 100%

    init(jsonDictionary: [String: Any]) 
        self.date = jsonDictionary["date"] as! String
        self.uniqueID = jsonDictionary["uniqueID"] as! String
        // Note: there is nothing in json for `anotherProperty`
    

这是好的做法吗?如果有任何潜在的危险,请告诉我。

【问题讨论】:

【参考方案1】:

我认为这没有任何问题。只要你知道你在做什么。

【讨论】:

酷,这种情况经常发生吗?如果是这样,您是否认为这样做有任何潜在危险?谢谢! 如果您为媒体对象编写一个自定义设置器,该设置器将始终处理另一个属性的值,我认为不会有问题。 为什么我需要一个自定义设置器 - 我可以只用来自 json 的 dictionary 初始化这个对象,然后设置 anotherProperty 值但是我想要稍后?抱歉,基本问题。如果您可以提供示例或链接,如果更容易展示,那就太好了 你可以这样做。但是,如果您稍后忘记设置该值怎么办?这可能会导致问题。如果你有一个 setter 函数,那么 anotherProperty 保证被正确填充。 说得对。所以我更新了我的问题,以便我的对象包含一个初始化程序。注意anotherProperty 没有设置。您能否举例说明如何在这种情况下编写自定义设置器?谢谢

以上是关于iOS - 不完美地镜像 JSON 是不是被认为是不好的做法?的主要内容,如果未能解决你的问题,请参考以下文章

iOS 屏蔽更新的最新方法,完美支持 iOS13 系统

为啥刷新令牌对于 SPA 来说被认为是不安全的?

ios 阻止本地通知是不是被认为是有害的?

超融合架构真的完美吗?

Unison:仅在一个方向同步

Apple ResearchKit 中的额外本地化是不是会导致 iOS App Store 错误地认为我们的应用已针对许多额外语言进行了本地化?