2016-04-30 25 views
-1

我想检查是否从应用程序安装通过X天来解锁一些功能比较NSDateComponents整数(或转换NSDateComponents到整数)

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)) { 
... 
} 

我得到

指针和整数('NSDateComponents *'和'int')之间的有序比较

回答

3

由于您要求的天数,您应该访问day属性。

if (components.day >= 1) { 
} 

注意:使用x >= y可能比使用!(x < y)清晰。

+0

不错!日期在00:00:00或每24小时递增? – fabersky

+0

尝试不同的值,但我相信如果两个日期相隔24小时,您将获得1天。 – rmaddy