ストーリーボード シーンで静的セルを使用してテーブル ビュー コントローラーを定義しました。テーブル ビュー自体には 6 つのセクションがあり、各セクションには 1 つまたは 2 つのセルが含まれています。ビュー コントローラーのこのメソッドからセルにデータを書き込みます。
- (void)setUpAllCells
{
//Charge Name
NSIndexPath *path = [NSIndexPath indexPathForRow:0 inSection:0];
TableViewCellTextField *currentTextField = (TableViewCellTextField *)[[self tableView] cellForRowAtIndexPath:path];
[currentTextField.textField setDelegate:self];
//Charge Description
path = [NSIndexPath indexPathForRow:1 inSection:0];
currentTextField = (TableViewCellTextField *)[[self tableView] cellForRowAtIndexPath:path];
[currentTextField.textField setDelegate:self];
...
path = [NSIndexPath indexPathForRow:0 inSection:5];
TableViewCellControl *currentControl = (TableViewCellControl *)[[self tableView] cellForRowAtIndexPath:path];
[currentControl setValue:m_data->trailBurnTime];
}
次から呼び出されます:
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
[self setUpAllCells];
}
アプリケーションを実行すると、最後のセクションを除いて、各セルが期待どおりに応答します。
最後のセクションのセルはコントローラーに接続されておらず、ストーリーボード シーンのデフォルト値を保持しています。setUpAllCells にブレークポイントを設定したところ、最後のセクションで cellForRowAtIndexPath が nil を返していることがわかりました。
私はこの形式を他の 5 つのビュー コントローラに使用しましたが、このようなことはありませんでした。
これが私がこれまでに試したことです:
これを独自のカスタム TableViewCells でテストし、それらが機能しない場合は標準の UITableViewCells をテストしました。最後のセクションは常に nil を返します。
セクションとセルを再配置しました。最後のセクションは常に nil を返します。
その部分を完全に削除しました。他のセクションは、それがなくても正常に機能します。
さらにセクションを追加しました。セクション 5 以降は、CellForRowAtIndexPath で nil を返します。
私はここで途方に暮れています。何が原因なのかわかりません。
提案?