Я заметил, что в CLRegion есть замечательный метод с названием containsCoordinate.
Таким образом, вместо того, чтобы перебирать все координаты массива моего McDonald's в didEnterRegion и проверять, находится ли их расстояние меньше, чем x километров от region.center, я теперь могу просто использовать containsCoordinate.
for (Restaurant *restaurant in arrRestaurants)
{
CLLocation *restaurantLocation = [[CLLocation alloc] initWithLatitude:[resturant.latitude doubleValue] longitude:[restraurant.longitude doubleValue]];
if ([region containsCoordinate: restaurantLocation.coordinate])
{
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"McDonads found in the region!" message:[NSString stringWithFormat:@"%@", restaurant.town] delegate:nil cancelButtonTitle:@"Ok" otherButtonTitles:nil, nil];
[alert show];
[alert release];
}
}
Сейчас я еще не пробовал, но мне кажется, что это логично.