NSIndexSet -lastIndex が NSNotFound を返さない
NSArrayController
から選択しているインデックスの集合 (インデックスセットオブジェクト) を
selectedIndexes
で取り出した。
最後に選択されているオブジェクトのインデックスを取り出したかったので、
lastIndex
を使った。
通常の場合はこれでうまくいった。
でも何も選択されていない場合、 ちゃんと動かない。
何も選択されていない場合、
空のインデックスセットが返って来て、
空のインデックスセットに lastIndex
を送ると NSNotFound
が返ってくるはずだった。
しかしデバッガで見てみると違う値が返ってくる。
NSNotFound
のドキュメントを見てみると (NSUInteger)0x7fffffff
となっている。
が、
なぜか 0xffffffff
になっている。
そして lastIndex
の戻り値は (NSUInteger)0x7fffffffffffffff
である。
どういうことなんだ一体?
まあ、
仕方がないのでインデックスセットの count
をとって選択されていないかどうか確認するようにしたけど。