2013-10-28 26 views
-2

我目前有一个不同时间的数组。这些是用户自定义的,每30分钟一次。因此,一个示例可以是:查找五个中的最接近的时间

NSMutableArray *times = [[NSMutableArray alloc] initWithObjects: @"9:30", @"12:00", @"13:30", @"17:00", nil]; 

而且,不同时间的次数可以从一到五变化。

现在我想找到最接近当前时间的那个。举例来说,如果现在是11点,在上面的例子中,它会返回12:00。

这样做的最好方法是什么?

+0

将字符串解析为几分钟和几小时,将每个字符串转换为某种数字格式,计算每个数字的差异,然后返回最小差异的数字。 – nhgrif

+0

将所有内容转换为分钟以更轻松地找到差异 –

回答

2

在时间阵列上循环,将每个时间与当前时间进行比较。将最近的一个存储在循环外的变量中,每次对该变量进行检查,并且只有在迭代器值更接近时才更新其值。我没有故意发布代码,因为这是你需要学习成为开发人员的那种事情。

0

存储字符串不能帮助您比较“时间”。 尝试在NSTimeInterval中存储“时间”。

然后,您应该能够比较并选择距离当前时间最近的时间。

编辑: 关于如何转换为NSTimeInterval和如何比较的方式应该留给你实现。