这可能是我的xCode或其他什么问题,但我使用一些代码来获取当前日期,并且我在这行代码上一直收到错误,
var comp = cal.components((.CalendarUnitDay | .CalendarUnitMin), fromDate: date);
这是所有代码
var date = NSDate();
var cal = NSCalendar.currentCalendar();
let comps : NSCalendarUnit = .CalendarUnitMinute | .CalendarUnitDay | .CalendarUnitHour;
var info = cal.components(comps, fromDate: date);
var day = info.day;
var hour = info.hour;
var min = info.minute;
var text = "Day: + \(day) + \nHour: + \(hour) + \nMinute: + \(min)";
label.text = text;
告诉我.CalendarUnitDay和.CalendarUnitMin不是成员变量。这可能是我的一些愚蠢的错误,但我不能为我的生活弄清楚什么是错的,我也无法找到Apple的文档或在线的解决方案。 谢谢你的帮助。
答案 0 :(得分:5)
将.CalendarUnitDay
替换为NSCalendarUnit.Day
和.CalendarUnitMin
NSCalendarUnit.Minute
。
答案 1 :(得分:1)
将其分为两行。首先形成位掩码:
let comps : NSCalendarUnit = .CalendarUnitMinute | .CalendarUnitDay
现在使用 comps
需要组件:
var comp = cal.components(comps, fromDate: date)
另外,请确保您已解开cal
。它作为可选项到达,因此您必须打开它。例如:
let cal = NSCalendar(calendarIdentifier:NSCalendarIdentifierGregorian)!
注意最后的感叹号。
所以,把它们放在一起,任意日期:
let cal = NSCalendar(calendarIdentifier:NSCalendarIdentifierGregorian)!
let date = NSDate()
let comps : NSCalendarUnit = .CalendarUnitMinute | .CalendarUnitDay
var comp = cal.components(comps, fromDate: date)