hirakiucの日記

いろいろ

UITableViewCellのprepareForReueseではsuperを呼ぶこと

uitableview - dequeueReusableCellWithIdentifier returning cells in editing state in IOS 7 - Stack Overflow

UITableViewCellのカスタムクラスを使っているとき、prepareForReuseをoverrideして自身の必要な情報を初期化する。

このとき、superを呼び出していないと、cellの状態がきちんと初期化されない様子。

具体的には、UITableViewから deleteRowsAtIndexPaths:withRowAnimation: でrowを削除した後、同じrowを作ると初期状態で表示されない(削除なボタンが表示されたままな状態になる)

これまでのiOS6まででは特に問題なかった気がする。

iOS7からはきちんとsuperを呼ばないといけないのかも。