在我的 calendarViewController 中,我想准备一个包含日期的数组。在我的模型中,我有 to-may 关系,其中一种药物可以有多个服药日期。我如何通过该集合执行循环以附加数组? 我的模型:
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?
}
模型日期
extension Dates {
@NSManaged var date: NSDate?
@NSManaged var takes: Medicine?
}
我想执行这样的循环,但我想要来自 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()
}
}
}
最佳答案
获取您的 Medicine
实体,然后创建如下数组:
let dates = medicine.taken.map { $0.date }
不确定NSOrderedSet
,它往往有问题,所以我通常会避免它,但你可以尝试附加as! [NSDate]
确保您拥有正确的日期数组。
关于ios - 循环核心数据关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33712433/