私は簡単なデモを作成していました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;
}
どんな助けでも大歓迎です、ありがとう