솔직한 반복을 전원 한계 이하, 가장 높은 힘을 가진 하나 따기 :
— (Car *)getHighestPowerFromCars:(NSArray *)carArray lessThan:(NSNumber *)maxPower
{
NSNumber* highest = nil;
Car* highestCar = nil;
for (Car* car in carArray)
{
NSNumber* power = car.enginePower;
if ([power compare:maxPower] == NSOrderedAscending])
{
if (highest == nil || [power compare:highest] == NSOrderedDescending])
{
highest = power;
highestCar = car;
}
}
}
return highestCar;
}
을하지만 enginePower가의 NSNumber하고, 예를 들어 이중 안 정말 어떤 이유가 없습니다. 전원이 부정적인 결코 없다고 가정 : [`NSPredicate`]에서 ...
— (Car *)getHighestPowerFromCars:(NSArray *)carArray lessThan:(double)maxPower
{
double highestPower = -1.0;
Car* highestCar = nil;
for (Car* car in carArray)
{
double power = car.enginePower;
if (power < maxPower && power > highestPower))
{
highestPower = power;
highestCar = car;
}
}
return highestCar;
}
을하지만 정렬 및 조건이 soooo는 빨리
봐 (https://developer.apple.com/library/mac/검색 /? q = nspredicate). –