使用 NSDateComponents 获取当前日期时出错

Get error when getting current date using NSDateComponents

我正在尝试通过 NSDateComponents 获取当前日期。 (然后我将更改周、月等)这是代码:

NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian];
NSDateComponents *components = [calendar component:(NSCalendarUnitCalendar |
                                                        NSCalendarUnitYear |
                                                        NSCalendarUnitMonth |
                                                        NSCalendarUnitDay) fromDate:[NSDate date]];

Xcode 给我以下警告:

Incompatible integer to pointer conversion initializing 'NSDateComponents *__string' with an expression of type...'

错误:

Implicit conversion of 'NSInteger' (aka 'long') to 'NSDateComponents *' is disallowed with ARC

您正在调用 component 方法(returns 单个数字组件值),并且您打算调用 components(returns 完整的 NSDateComponents对象)。

NSDateComponents *components = [[NSCalendar currentCalendar] components:NSWeekdayCalendarUnit fromDate:[NSDate date]];

使用component 添加您要访问的 1 个单元。 多于一个单位使用components