我有一堆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