Core Data一对多关系,具有特定类型的NSSet



谁能告诉我我做错了什么?我是初学者与Swift,我试图实现核心数据到我完成的应用程序。在我的例子中,我有3个类:月,周和日。Month有一个数组[Week], class Week有一个数组[Day]

class Month {
  var weeks: [Week]
}
class Week {
  var days: [Day]
}
class Day {
  var name: String
}

现在,当我尝试处理核心数据,我与NSManagedObject子类的一对多关系,我有NSSet而不是我的数组[周]或[日]。

这个NSSet没有类型(对象是AnyObject),它让我的应用充满了错误。

在这种情况下,处理Core Data真的必须是NSSet吗?我能不能为NSSet集合设置类型?你可能知道NSSet不起作用;)帮帮我,你们是专家。我不想更改应用程序的几乎所有代码:(

大多数问题都是在FOR循环中,我必须更改

for week in month.weeks {
  for day in week.day{
    day.name = "something"
  }
}

for weekObject in month.weeks {
   let week = weekObject as! Week
   for dayObject in week.day {
      let day = dayObject as! Day
      day.name = "something"
   }
}

您可以使用类型化集合:

@NSManaged var weeks: Set<Week>

最新更新