ヒレガス本 課題8-2

ヒレガス本第四版の課題8-2を読んで、この課題は10分も掛からないだろうと見積もりコーディングを始めるたが、デバッグに1時間もかかった。

ミスをした箇所は以下の通り。

  • NSButtonからtarget/actionの設定を忘れていた

凡ミスだが、何度もボタンを押してしまった。最初に接続忘れを疑うべきだった。

  • プロトコルのスペルミス

NSTableViewDataSourceプロトコルの一部をスペルミスしていた。実装がoptionalだと警告が発生しないのでミスを発見しにくい。

対策は、NSTableView.hから該当するプロトコルメソッドをCopy&Pasteするのが一番だと思う。

  • [NSTableView reloadData]の呼出し忘れ

arrayへの追加削除の後には、reloadDataしないと画面がアップデートしない。

  • IB上でidentifierの設定忘れ

tableCulumのidentifierを見て表示する内容を選んでいるのに、identifierが空だった。 identifierが空の時にassertを発生させた方が良いかも。

  • tableCulumのidentifierをデータのKVCの名前に一致させるべきだったのを別の名前を作ってしまった。

わざわざ変換ようのディクショナリを作ってから気がついた。CoreDataが出てくるまでは定型文だったのだがすっかり忘れていた。

Comments

comments powered by Disqus