私は簡単なデモを作成していましたUITableView:1つのセルが選択されている場合、セルに目盛りが表示され、最後に選択されたセルのチェックが解除されます。シミュレーターで実行すると、最初に1つのセルを選択すると良いですが、別のセルを選択した場合セル、ログ情報なしでアプリケーションがクラッシュしてしまい、何が起こったのかわかりませんでした。コーディングで行ったことは次のとおりです。
ヘッダ:
#import <UIKit/UIKit.h>   
@interface ViewController2 : UIViewController<UITableViewDataSource,UITableViewDelegate>
{
    NSIndexPath * oldIndexPath;
    NSArray *list;
}
@property(retain,nonatomic)NSIndexPath *oldIndexPath;
@property(strong,nonatomic)NSArray *list;
@end
実装:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    UITableViewCell * cell = [tableView cellForRowAtIndexPath:indexPath];
    if(oldIndexPath == nil){
        cell.accessoryType = UITableViewCellAccessoryCheckmark;
    }else{
        UITableViewCell * oldCell = [tableView cellForRowAtIndexPath:oldIndexPath];
        oldCell.accessoryType = UITableViewCellAccessoryNone;
    }
    oldIndexPath = indexPath;
}
どんな助けでも大歓迎です、ありがとう