我不能告訴你的Objective-C,iOS或uipickerview ...對於算法什麼。這裏是特別沒有語言的一些僞代碼:
i = 7 // this is i in your example
offset=420 // This is where you could say you want
// to start at 7:00 (420 minutes after midnight)
// you could use any number here obviously.
counter = offset
while (counter<1440+offset){
counter = counter+i
minutes = counter%60
hours = counter/60 // Use integer division
}
的模二向你分給你,其餘每一次。所以在你的榜樣分鐘將從56去=> 63 => 3,其你想要什麼。
,如果你只是想知道分鐘和小時會是怎樣一個給定的時間間隔(假設間隔去從0到206(有一天206個7分鐘間隔),那麼你會做以下幾點:
minutes = (i*intervalNum) % 60
hours = (i*intervalNum)/60 // Integer division!
如果你需要在一個時間間隔的號碼,你可以做到以下幾點:
keep a hashmap (again I don't know how objective-c handles these) that maps an hour to a list of the minutes that mark intervals. In your example you could have a hashmap that looks like:
{0 => (0,7,14,21,28,35,42,49,56),
1 => (3,10,17,24,31,38,45,52,59),
2 => (6,13,20,27,34,41,48,55),
...
}
第一輪通過過程中,您將建立這個地圖獲得2-間隔數。 3時隙只是返回地圖[2] .length(或任何其等價物)。
很明顯,這是許多方法之一,並需要更多的上下文來進一步細節。
好運
這確實讓我指出了正確的方向。但有一點是,如何獲得特定時間段的分鐘數?在我的屏幕截圖中,他們都有8-7分鐘的間隔,除了最後一個間隔爲7-7分鐘。 – Bot
看我上面的編輯。 – ajon