cell选中后进入重用池出来选中状态消失

cell选中后进入重用池出来选中状态消

#import "ClickOnCellMultipleChoiceViewController.h"

@interface ClickOnCellMultipleChoiceViewController ()<UITableViewDelegate,UITableViewDataSource>

@property (nonatomic , strong) UITableView *tableView;




//定义一个数组来记录cell的是否选中的状态

@property (nonatomic, strong) NSMutableArray *arrCellSelect;

//cell的个数的数组

@property (nonatomic, strong) NSArray *arrCellCount;

@end

@implementation ClickOnCellMultipleChoiceViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    
    
    [self creatTable];
    
    [self dataHadel];
    
    
}



- (void)creatTable{
    
    self.tableView = [[UITableView alloc]initWithFrame:[UIScreen mainScreen].bounds style:(UITableViewStylePlain)];
    
    [self.view addSubview:self.tableView];
    
    self.tableView.delegate = self;
    
    self.tableView.dataSource = self;
    
}

//网络请求

- (void)dataHadel{
    
    //此处获取cell的个数数组
    
    self.arrCellCount = [NSArray array];
    
    self.arrCellCount = @[@"0",@"1",@"2",@"3",@"4",@"5",@"6",@"7",@"8",@"9"];
    
    //遍历cell的个数,添加cell对应的选中状态
    
    _arrCellSelect = [NSMutableArray array];
    for (int i =0 ; i< self.arrCellCount.count; i++) {
        
        [_arrCellSelect addObject:@(NO)];//一开始cell为不选中
        
    }
    
    
    [self.tableView reloadData];
    
}



- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{
    
    return 1;
    
}



- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
    
    return self.arrCellCount.count;
    
}



- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
    
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cell"];
    
    if (!cell) {
        
        cell = [[UITableViewCell alloc]initWithStyle:(UITableViewCellStyleValue1) reuseIdentifier:@"cell"];
        
    }
    
    if ([[self.arrCellSelect objectAtIndex:indexPath.row] isEqual:@(NO)]) {
        
        cell.detailTextLabel.text = @"我落选了";
        
    }
    
    else{
        
        cell.detailTextLabel.text = @"我入选了";
        
    }
    
    cell.textLabel.text = self.arrCellCount[indexPath.row];

    
    
    return cell;
    
}



- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
    
    UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
    
    NSIndexPath *indPath = [NSIndexPath indexPathForRow:indexPath.row inSection:indexPath.section];
    
    if ([[_arrCellSelect objectAtIndex:indexPath.row] isEqual:@(NO)]) {
        
        [_arrCellSelect replaceObjectAtIndex:indexPath.row withObject:@(YES)];
        
        cell.detailTextLabel.text =@"我入选了";
        
        
        
    }
    
    else{
        
        [_arrCellSelect replaceObjectAtIndex:indexPath.row withObject:@(NO)];
        
        cell.detailTextLabel.text = @"我落选了";
        
    }
    
    [self.tableView reloadRowsAtIndexPaths:[NSArray arrayWithObject:indPath] withRowAnimation:(UITableViewRowAnimationNone)];
    [self.tableView reloadData];
    
    
    
   
    
    
}





- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

/*
#pragma mark - Navigation

// In a storyboard-based application, you will often want to do a little preparation before navigation
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
    // Get the new view controller using [segue destinationViewController].
    // Pass the selected object to the new view controller.
}
*/

@end

转载于:https://www.cnblogs.com/Yishu/p/7422241.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值