0

カスタムで非常にシンプルな UITableViewCell があります。Ios 6 の新しいテクニックを使用して、テーブル ビューを初期化したいだけです。つまり、クラスを登録し、識別子を使用してセルを deque した後です。だから私はUITableViewControllerを持っています。テーブルビュー内にはプロトタイプセルが1つあります。これがそのイメージです。ここに画像の説明を入力

最初は、Table Viewコントローラー内のviewDidLoadメソッドにクラスを登録するのを忘れていましたが、正常に機能していました。これがコードです。

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    CustomCell *cell = [tableView  dequeueReusableCellWithIdentifier:@"customCellIdentifier" forIndexPath:indexPath];

    return cell;
}

しかし、この場合

- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier

セルの初期化プロセス中には呼び出されません。

そして、登録クラス機能をviewdidload内に配置した後。ここにコードがあります

- (void)viewDidLoad
{
    [super viewDidLoad];

    [self.tableView registerClass:[CustomCell class] forCellReuseIdentifier:@"customCellIdentifier"];

}

その後、 - (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier呼び出しが開始されますが、この場合、デバッグしようとするとセルが完全に空になり、initwithstyle メソッド内ではすべてのアウトレットが nil になります。どうしたの?私は何を間違っていますか?

4

1 に答える 1