我有一个小时的字符串,例如" 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是一个小时的单个字符串。
答案 0 :(得分:2)
你似乎正在做很多额外的工作来迭代你的数组。相反,请为循环尝试不同的格式:
for (NSString *horaArribada in [[objects objectAtIndex:0] objectForKey:@"Horaris"]) {
if ([hora compare:horaArribada] == NSOrderedAscending) {
self.tfHoraArribada.text = horaArribada;
break;
}
}
这假设您的Horaris
数组已经从最小到最大排序。此外,逻辑不适用于午夜翻转,因此您可能想要考虑到这一点。