Я предполагаю, что оба эти объекта имеют тип CLLocation
, основываясь на имени getClLocation
.
CLLocation
не имеет никакой спецификации того, что делает его метод isEqual:
, поэтому он, вероятно, просто наследует реализацию NSObject
, которая просто сравнивает указатели объектов. Если у вас есть два разных объекта с одинаковыми данными, то реализация isEqual:
вернет NO
. И если у вас есть два разных объекта с небольшим изменением местоположения, они определенно не будут равны.
Возможно, вы не хотите isEqual:
при сравнении объектов местоположения. Скорее всего, вы хотите использовать метод distanceFromLocation:
на CLLocation
. Примерно так будет лучше:
CLLocationDistance distanceThreshold = 2.0; // in meters
if ([currentAnchor distanceFromLocation:currentBusiness.getCllLocation] < distanceThreshold)
{
do a;
}
else
{
do b;
}