我有一堆NSNumber
s的數組。從UISlider
我得到一個特定的值,當用戶停止拖動它。我想從數組中獲取關閉數。從數組中挑選最接近的NSNumber
因此,舉例來說,如果用戶拖動UISlider
到13
,並且NSArray
包含NSNumbers
與10
和15
;我想從陣列中獲得15
。陣列的
例子:
NSArray *values = [NSArray arrayWithObjects:[NSNumber numberWithInt:15],
[NSNumber numberWithInt:20],
[NSNumber numberWithInt:30],
[NSNumber numberWithInt:45],
[NSNumber numberWithInt:60],
[NSNumber numberWithInt:90],
[NSNumber numberWithInt:110], nil];
我如何從陣列中正確的號碼?
我不明白的問題。爲什麼不計算該值與數組中每個元素的差異,並使用絕對值來決定哪一個最接近? – dasdom
當然,我可以做到這一點。但是如果我有一個有1000個值的數組呢?這相當於一些計算和內存使用。 –
在Objective-C中,數組迭代非常有效。我使用它很多,沒有性能問題。試用1000個值並決定它是否足夠快。解決方案只需要足夠好。 – dasdom