ヒレガス本 課題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