2013-10-28 39 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和如何比較的方式應該留給你實現。