将 NSDateComponents 与整数进行比较(或将 NSDateComponents 转换为整数)
Compare NSDateComponents to integer (or convert NSDateComponents to integer)
我正在尝试检查应用安装后是否过了 X 天才能解锁某些功能
NSDate *now = [NSDate date];
NSCalendar *gregorianCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian];
NSDateComponents *components = [gregorianCalendar components:NSCalendarUnitDay
fromDate:[[NSUserDefaults standardUserDefaults]
objectForKey:@"firstTimeDate"]
toDate:now
options:0];
但是当我这样做时
if (!(components < 1)) {
...
}
我明白了
Ordered comparison between pointer and integer ('NSDateComponents *' and 'int')
由于您要求的是天数,因此您应该访问 day
属性。
if (components.day >= 1) {
}
注意:使用 x >= y
可能比使用 !(x < y)
更清楚。
我正在尝试检查应用安装后是否过了 X 天才能解锁某些功能
NSDate *now = [NSDate date];
NSCalendar *gregorianCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian];
NSDateComponents *components = [gregorianCalendar components:NSCalendarUnitDay
fromDate:[[NSUserDefaults standardUserDefaults]
objectForKey:@"firstTimeDate"]
toDate:now
options:0];
但是当我这样做时
if (!(components < 1)) {
...
}
我明白了
Ordered comparison between pointer and integer ('NSDateComponents *' and 'int')
由于您要求的是天数,因此您应该访问 day
属性。
if (components.day >= 1) {
}
注意:使用 x >= y
可能比使用 !(x < y)
更清楚。