【问题标题】:How to write a data model that needs the properties to be represented as a collection as well as properties如何编写需要将属性表示为集合以及属性的数据模型
【发布时间】:2017-07-18 14:41:25
【问题描述】:

假设您有一个数据模型 Car。汽车具有许多属性,例如车轮,发动机,窗户等。 假设您想在零件列表中表示这些属性,您将如何将其构建到模型中? 挑战在于属性应该可以通过列表项以及属性本身来读取和设置。

类似的东西

car.engine = Engine()

应该具有相同的效果:

car.parts["engine"] = Engine()

虽然我认为使用字符串键不是正确的解决方案。

【问题讨论】:

    标签: swift


    【解决方案1】:

    为此,您可以使用Generic

    1) 首先设计一个Generic protocol

    2) 为车轮、发动机和车窗制作单独的模型,每个模型必须符合您在步骤 1 中制作的Protocol

    3) 然后在您的Car 模型中,将部件列表设为:

    假设您创建了一个名为 Parts 的协议,并有一个名为 Wheel,Engine and Window 的单独模型。

    let carParts:[Parts] = [Wheel(),Engine(),Window()]
    

    对于单独设置属性,您可以遍历集合并直接检查要为其设置属性的模型。

    【讨论】:

      猜你喜欢
      • 2015-09-08
      • 1970-01-01
      • 1970-01-01
      • 2011-11-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多