私の質問はちょっと奇妙です.GenericTableViewCellと呼ばれるUITableViewCellから継承するクラスと、GenericTableViewCellから継承するいくつかのクラスがあるとしましょう。GenericTableViewCell のどのサブクラスがこの TableViewCell を初期化する必要があるかを教えてくれる GenericTableViewCell init メソッドに引数を渡せるようにしたいと考えています。これは私が考えたものですが、再帰ループが含まれているため失敗することはわかっています。
@implementation GenericTableViewCell
- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier cellIdentifier: (CellIdentifier *) identifier
{
self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
if (self) {
if ([identifier class] == [FirstIdentifier class]){
self = [[FirstTableViewCell alloc] initWithStyle:style reuseIdentifier:reuseIdentifier];
}
/// more else statements to check for other identifier cases
}
return self;
}
@end
これを行う方法はありますか?または、init 関数の外側で識別子を確認し、それによってどのセルを宣言するかを決定する必要がありますか?