Ios NSDATE组件不';返回日期

Ios NSDATE组件不';返回日期,ios,swift,nsdate,nscalendar,nsdatecomponents,Ios,Swift,Nsdate,Nscalendar,Nsdatecomponents,我试图从两个变量中获取数据:hours=“08”和minutes=30。我是这样做的: let calendar = NSCalendar(identifier: NSCalendarIdentifierGregorian) let components = NSDateComponents() components.hour = hours.toInt()! components.minute = minutes.toInt()! let neededDate = components.dat

我试图从两个变量中获取数据:
hours=“08”
minutes=30
。我是这样做的:

let calendar = NSCalendar(identifier: NSCalendarIdentifierGregorian)
let components = NSDateComponents()
components.hour = hours.toInt()!
components.minute = minutes.toInt()!
let neededDate = components.date

但是
needDate
为零。也许我做错了什么?

您可以从日历中获取日期,日历包含以下组件:

let neededDate = calendar.dateFromComponents(components)

您需要更改获取
neededDate
值的方式。现在,您可以这样做
让neededDate=components.date
位于
nil
的位置,因为
components.date
从未分配任何值。因此,您需要的代码如下所示

let date = calendar.dateFromComponents(components)!

希望这有帮助

如果要在此方向上使用NSDATE组件,则必须设置日历

let calendar = NSCalendar(identifier: NSCalendarIdentifierGregorian)!
let components = NSDateComponents()

components.calendar = calendar // Add this line

components.hour = hours.toInt()!
components.minute = minutes.toInt()!
let neededDate = components.date