2015-11-14 91 views
0

在我的calendarViewController中,我想準備一個包含日期的數組。在我的模型中,我必須有可能的關係,一種藥物可以有多個服用避孕藥的日期。我怎樣才能通過這個集合來追加一個數組? 我的模型:循環通過核心數據關係

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() 
     } 
    } 

} 
+0

請通過以下鏈接:http://www.raywenderlich.com/14742/core-data-on-ios-5-tutorial-how-to-work-with-relations-and-predicates它會有幫助爲你 –

回答

0

取回你的Medicine實體,然後像這樣創建數組:

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

不知道關於這往往是馬車,所以我儘量避免使用它NSOrderedSet,但你可以嘗試追加as! [NSDate],以確保您有日期的適當陣列。