保存每个didSelectRowAtIndexPath点击MutableArray中的对象

时间:2015-06-29 02:47:44

标签: ios arrays uitableview nsmutablearray didselectrowatindexpath

我在TableView中有一个项目/单元格列表。表设置为允许多个选择。

所以,我有这些方法来选择和取消选择。

@interface NotificationsViewController : UIViewController <UITableViewDataSource, UITableViewDelegate,UIScrollViewDelegate>
{
NSMutableArray *checkedIndexPaths;
}

-(void)viewDidLoad{
//Setup default array
checkedIndexPaths = [[NSMutableArray alloc]init];
}

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{

NotificationsTableViewCell *cell = (NotificationsTableViewCell*)[tableView cellForRowAtIndexPath:indexPath];
cell.imgIcon.image=[UIImage imageNamed:@"select-icon"];

Notifications* selected = notifications[indexPath.section];
selectedGroup = selected.NotificationsId;

[checkedIndexPaths addObject:selectedGroup];

}

-(void)tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath{

NotificationsTableViewCell *cell = (NotificationsTableViewCell*)[tableView cellForRowAtIndexPath:indexPath];
cell.imgIcon.image=[UIImage imageNamed:@""];

Notifications* selected = notifications[indexPath.section];
selectedGroup = selected.NotificationsId;

[checkedIndexPaths addObject:selectedGroup];

}

我想在多个选择期间将每个对象添加到数组中。但是使用这个当前编码,它将覆盖相同的编码,我不知道如何使其在每次单击单元格时存储多个对象数组。谢谢你的帮助。

1 个答案:

答案 0 :(得分:1)

您在每次方法调用后都会创建新的NSMutableArrays。您的$(function() { $('#wlt_txn_type').on('change', function() { if ($(this).val() == 'Expense') { $('#tab-first .form-group').addClass('has-error'); $('#tab-first .form-group').removeClass('has-success'); } else { $('#tab-first .form-group').addClass('has-success'); $('#tab-first .form-group').removeClass('has-error'); } }); }); 应该是对象的属性,或者在这两种方法范围之外可见,您可以在每次方法调用中添加和删除项目。