0

我正在开发一个天气应用程序……其基本思想是从服务中获取预报……我做到了……将自定义天气对象添加到数组中……我做到了……FYI the weather objects contains about 12 poperties....

现在我有一个滑块,我想显示mean or average of two temperature properties from weather objects that i get from an array on the value of slider... ,我应该告诉你该数组包含大约 40 个对象,滑块的最大值为 1440 分钟......这大约需要 12 小时

现在的主要问题是我如何在循环中执行此操作并动态地从数组中获取对象i dont want to hardcode the indexes of the array

我可以得到像这样的对象,也想要这样的东西......

if(sliderValue<180)
weather = [array objectAtIndex:0];

if(sliderValue<360)
weather = [array objectAtIndex:1];

if(sliderValue<540)
weather = [array objectAtIndex:2];

if(sliderValue<720)
weather = [array objectAtIndex:3];

if(sliderValue<810)
weather = [array objectAtIndex:4];


and so on up to slidervalue == 1440

我已经为每个条件都做了所有的 if else,这使得 144 if else(从 value == 10 到 value == 1440)所以我认为这不是有效的......

简单的是我有一个UISlider and whose max value is 1440和每 10 个间隔意味着after every 10 points i want to display average of two values....这些值存储在自定义对象中,这些对象存储在一个NSArray. 并且自定义对象是XML使用 Web 服务 api 创建的,所以我不知道 XML 将返回多少对象,因此为此我不想硬编码数组的索引并从数组中动态获取对象,因为有时数组可能不包含索引上的对象,应用程序会崩溃......这就是整个故事......希望你明白我......

main point is displaying and calculating average of two values after every 10 points of the slider value... and as i mentioned the conditions earlier if the value increases by 180 the index increases and next object is fetched from the array....
4

1 回答 1

0

您的问题似乎没有足够的信息。您能否更准确地解释您的问题,或者举个例子。我建议你使用 Switch Case 而不是使用这么多的“if-else”。这将提高您的应用程序性能,因为 Switch 在条件匹配的地方中断,因此执行的比较更少。

于 2012-09-17T08:15:27.183 回答