2017-07-13 6 views
0

Aster Mettre à jour mon projet de swift2.3 à swift 3 J'ai cette erreur: Impossible d'invoquer la valeur de type 'NSCalendar.Unit .type 'avec liste d'arguments '(rawValue: uint)' dans swift3 NScalender renommé au calendrier, mais comment nous classe civile dans ce code?:Impossible d'invoquer la valeur de type 'NSCalendar.Unit.Type' avec la liste d'arguments '(rawValue: UInt)'

private func calendar(_ calendar: TKCalendar, eventsForDate date: Date) -> [AnyObject]? { 
    let components = self.calendarView.calendar.component(NSCalendar.Unit(rawValue: NSCalendar.Unit.Year.rawValue|NSCalendar.Unit.Month.rawValue|NSCalendar.Unit.Day.rawValue), from: date) 


    components.hour = 23 
    components.minute = 59 
    components.second = 59 
    let endDate = self.calendarView.calendar.dateFromComponents(components) 
    let predicate = NSPredicate(format: "(startDate <= %@) AND (endDate >= %@)", endDate!, date) 
    let result: NSArray = self.events.filteredArrayUsingPredicate(predicate) 
    return result as [AnyObject] 
} 

Répondre

0

Ceci est dû swift 3 changements de classe calendar.

Modifier à -

let components = self.calendarView.calendar.dateComponents([.day, .month, .year], from: date)