2011-03-20 35 views
2

是否有識別的NSDate的Objective-C的快捷方式在一個NSArray有一天的時間給定的時間(例如晚上8點)後?在NSArray中發現NSDray在給定時間(例如,晚上8點)之後有一天的時間?

除了手動遍歷數組中的每個NSDate,然後使用NSDateComponents打破小時/分鐘/秒之外,我無法完全看到......不確定是否有簡單的方法來獲取時間從一個NSDate代表24小時的一小部分,因爲這可能會有所幫助。 (例如下午6:00將18/24 = 0.75在這種情況下)

回答

3

沒有必要在NSDateComponents打破。

 
NSTimeInterval interval = [date1 timeIntervalSinceDate:date2]; 
if (interval > 0) { 
    // date2 is earlier 
} else { 
    // date1 is earlier 
} 

現在你可以用date2的代表你的目標時間(晚上8點,例如)和陣列的所有日期與之媲美。

1

有沒有這個我試過,但我想

- (NSArray *)filteredArrayUsingPredicate:(NSPredicate *)predicate 

是你在找什麼。

相關問題