2つのNSIndexPathを比較し、それらの同等性または欠如に基づいて異なるコードを実行することに依存するコードがいくつかあります(-isEqualを使用)。ほとんどの場合、正しく機能しますが、機能しない場合もあります。デバッガコンソールを使用して、コード実行中に2つのインデックスパスをテストしましたが、それらは私と同じように見えます。
コードは次のとおりです。
- (BOOL)selectedStreetIsSameAsLastSelectedStreet
{
return [self.indexPathOfSelectedStreet isEqual:self.previousObject.indexPathOfSelectedStreet];
}
コード実行中の出力は次のとおりです。
(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'
私は何か間違ったことをしていますか、それとも2つのNSIndexPathの同等性を確実にテストできる別の方法がありますか?