2016-04-30 48 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