/ / Durchgehen der Kerndatenbeziehung - ios, swift, core-data

Looping durch Core Data Relationship - ios, schnelle Kerndaten

In meinem calendarViewController möchte ich mich gerne vorbereitenein Array mit Datumsangaben. In meinem Modell muss ich eine Beziehung haben, bei der ein Medikament mehrere Pillen einnehmen kann. Wie kann ich eine Schleife durch dieses Set ausführen, um ein Array anzufügen? Meine Modelle:

extension Medicine {

@NSManaged var amount: String?
@NSManaged var endDate: String?
@NSManaged var name: String?
@NSManaged var time: String?
@NSManaged var notificationSet: NSNumber?
@NSManaged var taken: NSOrderedSet?

}

Modelldaten

extension Dates {

@NSManaged var date: NSDate?
@NSManaged var takes: Medicine?

}

Ich würde gerne eine Schleife wie folgt ausführen, aber stattdessen mag ich diese Daten von CoreData:

var dates = [NSDate(timeIntervalSinceNow: 60*60*24*2), NSDate(timeIntervalSinceNow: 60*60*24*3), NSDate(timeIntervalSinceNow: 60*60*24*5), NSDate(timeIntervalSinceNow: 60*60*24*7)]

func calendar(calendar: CKCalendarView!, configureDateItem dateItem: CKDateItem!, forDate date: NSDate!) {


for dateTaken in dates {
if calendar.date(date, isSameDayAsDate: dateTaken) {
dateItem.backgroundColor = UIColor.redColor()
}
}

}

Antworten:

0 für die Antwort № 1

Hol deine Medicine Entität und erstellen Sie das Array wie folgt:

let dates = medicine.taken.map { $0.date }

Nicht sicher über die NSOrderedSet was in der Regel fehlerhaft ist, so vermeide ich es in der Regel, aber Sie können das Anhängen versuchen as! [NSDate] um sicherzugehen, dass Sie eine korrekte Reihe von Daten haben.