Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 查找NSDate';在给定时间(例如晚上8点)后有一天时间的NSArray中的s?_Iphone_Objective C_Nsarray_Nsdate_Nsdatecomponents - Fatal编程技术网

Iphone 查找NSDate';在给定时间(例如晚上8点)后有一天时间的NSArray中的s?

Iphone 查找NSDate';在给定时间(例如晚上8点)后有一天时间的NSArray中的s?,iphone,objective-c,nsarray,nsdate,nsdatecomponents,Iphone,Objective C,Nsarray,Nsdate,Nsdatecomponents,在Objective-C中,是否有一种快速方法可以识别NSArray中在给定时间(例如,晚上8点)后有一天时间的NSDate 除了手动遍历数组中的每个NSDate,然后使用NSDate组件划分小时/分钟/秒之外,我看不到其他任何东西……甚至不确定是否有一种简单的方法可以从NSDate获取时间,这种方式只代表24小时的一小部分,因为这可能会有所帮助。(例如,在这种情况下,下午6点将是18/24=0.75)我自己没有尝试过,但我猜 - (NSArray *)filteredArrayUsingPre

在Objective-C中,是否有一种快速方法可以识别NSArray中在给定时间(例如,晚上8点)后有一天时间的NSDate


除了手动遍历数组中的每个NSDate,然后使用NSDate组件划分小时/分钟/秒之外,我看不到其他任何东西……甚至不确定是否有一种简单的方法可以从NSDate获取时间,这种方式只代表24小时的一小部分,因为这可能会有所帮助。(例如,在这种情况下,下午6点将是18/24=0.75)

我自己没有尝试过,但我猜

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

就是您要找的。

没有必要打断
NSDateComponents

NSTimeInterval interval = [date1 timeIntervalSinceDate:date2]; if (interval > 0) { // date2 is earlier } else { // date1 is earlier } NSTimeInterval interval=[date1 timeIntervalSinceDate:date2]; 如果(间隔>0){ //日期2更早 }否则{ //日期1早于 } 现在,您可以用date2表示目标时间(例如,晚上8点),并将数组的所有日期与之进行比较