传递来自多个UITableView选定单元格的图像数组

时间:2015-06-18 01:44:07

标签: ios objective-c arrays uitableview

我现在遇到这样的问题。我有一个UIViewController,它有一个UITableView,我设置它,这样当UITableView处于编辑模式时,它返回3 - 带有复选标记的圆圈。我的UITableView具有图像和文本的自定义单元格。当我将UITableView置于编辑模式时,我试图将多个选定行中的图像数组传递给第二个视图控制器,以便在集合视图中使用这些图像,但我只是很难传递图像数组。任何建议,将不胜感激。

这是我的TableView代码:

-(void)didTapEditBUtton:(id)sender{
if ([self.ribbonTableView isEditing]) {
    viewButton.hidden = YES;
    headerLabel.hidden = NO;
    [ribbonTableView setEditing:NO animated:YES];
    [selectButton setTitle:@"select"];
}
else {
    [selectButton setTitle:@"Cancel"];
    // Turn on edit mode
    headerLabel.hidden = YES;
    viewButton.hidden = NO;
    [ribbonTableView setEditing:YES animated:YES];
    }
}

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

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection   (NSInteger)section{
    return [ribbonsArray count];
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
    RibbonCustomCell *cell = (RibbonCustomCell *) [ribbonTableView dequeueReusableCellWithIdentifier:@"RibbonDetail"];

    if (cell != nil)
    {
        RibbonsInfo *ribbonsInfo = [ribbonsArray objectAtIndex:indexPath.row];

    //NSLog(@"%@", ribbonsInfo);

    //Ribbon Image
        cell.ribbonImageView.image = ribbonsInfo.ribbonImage;
        cell.ribbonLabel.text = ribbonsInfo.ribbonName;
    }
    return cell;
}

-(UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath{
    return 3;
}

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


}

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

}

1 个答案:

答案 0 :(得分:1)

您应该使用NSMutableArray的属性...

@property (nonatomic, strong) NSMutableArray *selectedImages;

- (void)viewDidLoad {
    [super viewDidLoad];
    self.selectedImages = [NSMutableArray new];
}

现在当您选择或取消选择代表被调用的单元格时,

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    NSLog(@"%@",indexPath);
    RibbonsInfo *ribbonsInfo = [ribbonsArray objectAtIndex:indexPath.row];
    [self.selectedImages addObject:ribbonsInfo.ribbonImage];

}

- (void)tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath
{
    NSLog(@"%@",indexPath);
       if (self.selectedImages.count > 0) {
        [self.selectedImages removeObjectAtIndex:indexPath.row];
       }
}

-(UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath{
    return 3;
}

现在selectedImages数组包含选定的单元格图像,您可以传递此数组。 希望它能解决你的问题。