我目前有一个不同时间的数组。这些是用户定义的,间隔为 30 分钟。所以,一个例子可能是:
NSMutableArray *times = [[NSMutableArray alloc] initWithObjects: @"9:30", @"12:00", @"13:30", @"17:00", nil];
此外,不同时间的数量可以从一到五不等。
现在我想找到最接近当前时间的那个。例如,如果现在是 11:00,在上述示例中,它将返回 12:00。
做这个的最好方式是什么?
我目前有一个不同时间的数组。这些是用户定义的,间隔为 30 分钟。所以,一个例子可能是:
NSMutableArray *times = [[NSMutableArray alloc] initWithObjects: @"9:30", @"12:00", @"13:30", @"17:00", nil];
此外,不同时间的数量可以从一到五不等。
现在我想找到最接近当前时间的那个。例如,如果现在是 11:00,在上述示例中,它将返回 12:00。
做这个的最好方式是什么?
循环遍历时间数组,将每个时间与当前时间进行比较。将最接近的变量存储在循环外的变量中,每次检查该变量并仅在迭代器值更接近时更新其值。我不是故意发布代码的,因为这是你需要学习才能成为一名开发人员的东西。
存储字符串不能帮助您比较“时间”。尝试将“时间”存储在NSTimeInterval中。
然后您应该能够比较并选择最接近当前时间的时间。
编辑:如何转换为 NSTimeInterval 以及如何进行比较的方式应该留给您实施。