代码之家  ›  专栏  ›  技术社区  ›  Trygve

核心数据与相似对象的多个关系,不能反转

  •  0
  • Trygve  · 技术社区  · 5 年前

    我有一个实体 Storm ,具有两个一对多关系,“历史”和“预测”都是包含 StormPosition 包含时间、纬度和经度的实体。

    我可以建立这个,但虽然我可以建立“历史”和“预测”关系,但它们似乎不能同时指向类型的对象 风暴位置 因为反向关系不能同时指向风暴实体。

    我想这是因为当我这样做的时候:

    myStormPosition.owner = self
    

    它需要知道将其放入哪个NSSet(历史或预测)。

    另外,在项目的其他地方,我希望能够只与 风暴位置 键入而不是 HistoricPosition PredictedPosition 类型实际上是相同的,但会导致类型转换困难,除非我给了它们两个相同的父类。

    0 回复  |  直到 5 年前
        1
  •  0
  •   Hal Mueller    5 年前

    在我看来,这确实是一种罕见的情况,您可以从使用父实体/类中获益。注意这一点,因为两者的所有实例 HistoricPosition PredictedPosition

    你会有多个风暴预报吗?例如,从第1天开始的预测轨迹,从第2天开始的预测轨迹?

    不过,这确实像是一个重量级的解决方案。也许是一个包含位置和时间戳的协议?完全摆脱职位实体的概念?预测位置具有有效时间和发布时间,而历史轨迹位置仅具有记录时间。