/ / Pętla przez relacje Core Data - iOS, Swift, Core-Data

Pętla poprzez relację danych podstawowych - ios, swift, core-data

W moim calendarViewController chciałbym się przygotowaćtablica zawierająca daty. W moim modelu mam relację „to-may”, w której jeden lek może mieć kilka dat zażywania pigułki. Jak mogę wykonać pętlę przez ten zestaw, aby dołączyć tablicę? Moje modele:

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?

}

Daty modeli

extension Dates {

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

}

Chciałbym wykonać pętlę w ten sposób, ale zamiast tego te daty są podobne do tych z 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()
}
}

}

Odpowiedzi:

0 dla odpowiedzi № 1

Przynieś swój Medicine encja, a następnie utwórz tablicę w następujący sposób:

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

Nie jestem pewien co do NSOrderedSet który zwykle powoduje błędy, więc generalnie go unikam, ale możesz spróbować dołączyć as! [NSDate] aby upewnić się, że masz odpowiednią tablicę dat.