ホワイなぜなんだ

Mac OS X 10.3 以降では、NSTableView のドキュメントで以下のような通告が下されている:

- (NSEnumerator *)selectedRowEnumerator

This method has been deprecated. Use selectedRowIndexes instead.
- (void)selectRow:(int)rowIndex byExtendingSelection:(BOOL)flag

This method has been deprecated. Use selectRowIndexes:byExtendingSelection: instead.

deprecated というのは、「もうこのメソッドの手入れしないから。他のに乗り換えた方がいいと思うよー」みたいな意味である。で、かわりに NSIndexSet と仲良くしてね、という話なのだが、NSIndexSet ってイマイチ理解しづらくてねぇ…http://www.cocoadev.com/index.pl?NSIndexSet あたりを参考にしながらなんとか、うーん、でも、まだ自分の中でスッキリ理解できているのか確信がないな。数学でいうと公式だけ覚えてなんとか解いてる感じ。応用問題が出たらたぶん撃沈だろう。

deprecated と言うとなんとなく絶望的なニュアンスを感じるが、ただちにメソッドが消えてしまったり、動作しなくなる訳ではないのがまた、「今は動いてるし当分このまま使っててもいいか〜」なんて気持ちを産み出していたりもするしね。実際まだ BathyScaphe のコードにも結構 selectedRowEnumerator とか、残っていた。まぁ、見つけ次第ぼつぼつ selectedRowIndexes に書き換えていこうかな、と……ふぅ。面倒じゃのう…正直、なんで deprecated にしたんだよぅアップルさん、という気持ちじゃ…