Supongo que ambos objetos son del tipo CLLocation
, según el nombre getClLocation
.
CLLocation
no tiene ninguna especificación de lo que haga su método isEqual:
, por lo que es probable que sólo heredar la implementación de NSObject
, que simplemente compara los punteros de los objetos. Si tiene dos objetos distintos con datos idénticos, esa implementación isEqual:
devolverá NO
. Y si tienes dos objetos distintos con solo una ligera variación en la ubicación, definitivamente no serían iguales.
Probablemente no desee isEqual:
al comparar objetos de ubicación. Por el contrario, es probable que desee utilizar el método distanceFromLocation:
en CLLocation
. Algo como esto sería mejor:
CLLocationDistance distanceThreshold = 2.0; // in meters
if ([currentAnchor distanceFromLocation:currentBusiness.getCllLocation] < distanceThreshold)
{
do a;
}
else
{
do b;
}
no es cierto, se supone Este IsEqual para hacer precisamente eso, el registro de que el contenido determinar si dos objetos son iguales. Dos objetos no son iguales si sus propiedades no son las mismas. –