私がやっていることは、そのための最良の方法であるかどうかわからないということから始めます. 次のシナリオがあります: TableView
2 つのグループでグループ化された動的で、最初のグループには静的セルがあり、2 つ目のグループには配列によって入力された動的セルがあります。2 番目のグループは問題なく動作しますが、最初のグループはそうではありません!
最初のグループには、このコードでロードするカスタム セルが 1 つだけあります。
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
// ...
if (indexPath.section == kSectionHeader) {
NSArray *topLevelObjects = [[NSBundle mainBundle] loadNibNamed:@"ActorDetailsHeaderCell" owner:self options:nil];
ActorDetailsHeaderCell * headerCell = [topLevelObjects objectAtIndex:0];
headerCell.image.image = [UIImage imageNamed:self.actor.image];
headerCell.actorName.text = self.actor.name;
headerCell.info.text = @"";
return headerCell;
}
// ...
}
このファイルには、クラスを拡張ActorDetailsHeaderCell.xib
するという名前のカスタム クラスがあります。すべてをこのままにしておくと(テスト目的のためだけに)、ファイル内を設定するとすぐに次のエラーが発生します。ActorDetailsHeaderCell
UITableViewCell
IBOutlet
ActorDetailsHeaderCell.h
'NSUnknownKeyException', reason: '[<ActorDetailsViewController 0x7485a60> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key name.'
私は Stackoverflow でこれらの質問を見つけました: iPhone: "認識されないセレクターがインスタンスに送信されました"とカスタム UITableViewCellのエラーですが、これらの回答は私の問題を解決していないようです。とクラスを削除し.xib
て最初から書き直そうとしましたが、そのいまいましいエラーは常にそこにあります!
私は、同じものが他で使用されていて、UITableViewController
うまく機能していると言ってしまいます!