0

I want to get hour, minitues, seconds from NSCalendar:

    let calendar = NSCalendar(calendarIdentifier: NSCalendarIdentifierGregorian)
    let units = NSCalendarUnit.Hour | NSCalendarUnit.Minute | NSCalendarUnit.Second
    let components = calendar?.components(units, fromDate: NSDate())
    var hours = components.hour
    var min = components.minute
    var sec = components.second

and

// This line is error, How to get the units ?
units = NSCalendarUnit.Hour | NSCalendarUnit.Minute | NSCalendarUnit.Second
Cindy
  • 275
  • 4
  • 18

2 Answers2

2

This is because it expects Set of options, try this:

[NSCalendarUnit.Hour, NSCalendarUnit.Minute, NSCalendarUnit.Second]
Greg
  • 25,317
  • 6
  • 53
  • 62
1
let calendar = NSCalendar(calendarIdentifier: NSCalendarIdentifierGregorian)
let components = calendar?.components([.Hour, .Minute, .Second], fromDate: NSDate())
var hours = components?.hour
var min = components?.minute
var sec = components?.second
André Slotta
  • 13,774
  • 2
  • 22
  • 34