比较两小时字符串Objective C

时间:2015-02-11 18:36:28

标签: ios objective-c string parse-platform

我有一个小时的字符串,例如" 15:15",以及字符串ex中的其他小时数组:@ [" 15:00",& #34; 16:00"," 17:00"]我应该将单个字符串与数组字符串进行比较,以便在公交车站获得ETA,我尝试了这个代码,但它继续迭代并给出了数组中最后一个更大的值,而不是我需要的第一个更大的值。

int i = 0;
    horaArribada = [[[objects objectAtIndex:0]objectForKey:@"Horaris"]objectAtIndex:i];
    while ([hora compare:horaArribada]) {
        i++;
        if (i >= [[[objects objectAtIndex:0]objectForKey:@"Horaris"]count]) {
            break;
        }else{
            horaArribada = [[[objects objectAtIndex:0]objectForKey:@"Horaris"]objectAtIndex:i];
        }
    }
    self.tfHoraArribada.text = horaArribada;
    }
}

对象是来自Parse的查询,而hora是一个小时的单个字符串。

1 个答案:

答案 0 :(得分:2)

你似乎正在做很多额外的工作来迭代你的数组。相反,请为循环尝试不同的格式:

for (NSString *horaArribada in [[objects objectAtIndex:0] objectForKey:@"Horaris"]) {
  if ([hora compare:horaArribada] == NSOrderedAscending) {
    self.tfHoraArribada.text = horaArribada;
    break;
  }
}

这假设您的Horaris数组已经从最小到最大排序。此外,逻辑不适用于午夜翻转,因此您可能想要考虑到这一点。