0

UITableViewControllerシーンに5つの静的セルを作成しました。すべて正常に動作していますが、選択した特定のセルを設定できません。プロトタイプセルの場合は単純ですが、静的セルを選択するにはどうすればよいですか?次のコードは、BADメモリアクセス例外を発生させます!私はアップルスレッドに関する議論に基づいてこれを行いましたが、何が問題なのかわかりません!誰か助けてくれませんか。

- (void)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    [super tableView:tableView cellForRowAtIndexPath:indexPath];

    if(indexPath.section == _rating)
        [tableView cellForRowAtIndexPath:indexPath].accessoryType =UITableViewCellAccessoryCheckmark;
}
4

1 に答える 1

2

これを修正しました。UITableViewCell の戻り値の型を返す必要があり、以下のようにこのメソッドを使用する必要があります。メソッドの呼び出しは再帰的であったため、失敗していました。

- (UITableViewCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    UITableViewCell *cell = [super tableView:tableView cellForRowAtIndexPath:indexPath];

    if(indexPath.section == _rating)
       cell.accessoryType = UITableViewCellAccessoryCheckmark;

    return cell;
 }
于 2012-09-28T09:33:50.660 に答える