1

以下に、セルの作成に使用しているコードを示します。セルは再利用されていません。毎回、cell==nil真実になっています。

xibで識別子を正しく設定しています。私を助けてください。

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

    if (cell == nil) {

        NSArray *nib=[[NSBundle mainBundle]loadNibNamed:@"SRCourseListCell" owner:self options:nil];
        cell=[nib objectAtIndex:0];

    }

    return cell;
}
4

3 に答える 3

2

SRCourseListCell に追加します。

- (NSString *) reuseIdentifier {
  return @"cell";
}

または(ペン先を使用しているため、おそらくより良い解決策です)、インスペクターで識別子を「セル」に設定します。

于 2013-07-20T11:40:01.593 に答える
1

「SRCourseListCell.xib」で、属性インスペクターに移動し、 「SRCourseListCell」をIdentifierに設定します。

属性インスペクター

以下の変更されたコードをエキサイティングなものに置き換えます。

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    SRCourseListCell *cell = [tableView dequeueReusableCellWithIdentifier:@"SRCourseListCell"];
    もし (セル == ゼロ)
    {
        NSArray *nib=[[NSBundle mainBundle]loadNibNamed:@"SRCourseListCell" owner:self options:nil];
        cell=[ペン先 objectAtIndex:0];
    }
    セルを返します。
}

カスタム セルの xib を呼び出すときは、xib の識別子が次のように使用しているものと同じであることを確認してください。

[tableView dequeueReusableCellWithIdentifier:@"SRCourseListCell"]
于 2013-07-20T12:19:06.143 に答える
-1

次のコードを使用して初期化します。

    YourTableViewCell *cel = [[YourTableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"identifier"];
于 2013-07-20T13:39:59.017 に答える