J'ai un code qui repose sur la comparaison de deux NSIndexPaths et l'exécution d'un code différent en fonction de leur égalité ou non (en utilisant -isEqual). La plupart du temps, cela fonctionne correctement, mais parfois, ce n'est pas le cas. J'ai utilisé la console du débogueur pour tester les deux indexpaths pendant l'exécution du code, et ils me semblent identiques.
Voici le code :
- (BOOL)selectedStreetIsSameAsLastSelectedStreet
{
return [self.indexPathOfSelectedStreet isEqual:self.previousObject.indexPathOfSelectedStreet];
}
Voici la sortie pendant l'exécution du code :
(gdb) po self.indexPathOfSelectedStreet
<NSIndexPath 0x60a0770> 2 indexes [26, 1]
(gdb) po self.previousObject.indexPathOfSelectedStreet
<NSIndexPath 0x55b4f70> 2 indexes [26, 1]
(gdb) p (BOOL)[self.indexPathOfSelectedStreet isEqual:self.previousObject.indexPathOfSelectedStreet]
$2 = 0 '\000'
Est-ce que je fais quelque chose de mal, ou existe-t-il un autre moyen de tester de manière fiable l'égalité de deux NSIndexPaths ?