conclusion NSDate est dans un NSArray qui ont une heure de la journée après un temps donné (par exemple 20 heures)?
-
27-10-2019 - |
Question
Est après un certain temps il un moyen rapide en Objective-C d'identification dans un NSDate de NSArray qui ont un moment de la journée (par exemple 20 heures)?
Je ne peux pas tout à fait voir de toute façon autre que la marche manuellement à travers chaque NSDate dans le tableau, puis en utilisant NSDateComponents pour sortir l'heure / minute / seconde ... Même pas sûr s'il y a un moyen simple d'obtenir le temps de un NSDate d'une manière qui représente une fraction de 24 heures, car cela pourrait aider un peu. (Par exemple 18 heures serait 18/24 = 0,75 dans ce cas)
La solution
There is no need to break in NSDateComponents
.
NSTimeInterval interval = [date1 timeIntervalSinceDate:date2]; if (interval > 0) { // date2 is earlier } else { // date1 is earlier }
Now you can represent your target time(8 P.M., for example) with date2 and compare all dates of array with that.
Autres conseils
Haven't tried this myself, but I guess
- (NSArray *)filteredArrayUsingPredicate:(NSPredicate *)predicate
is what you're looking for.