1

我的设置如下所示:

UIViewController在它上面有一个不同的元素,包括一个UIContainerView. 这个容器中嵌入了一个UICollectionViewwith 9 。UICollectionViewCell所有这些细胞都有一个UILabel。单元格都是可选的。所以我基本上做的是创建一个多选元素。我的问题是,如何将选定的单元格(最好是带有所有选定元素的字符串的 NSArray)传递给父级,UIViewController

到目前为止我所做的是IBOutlet在顶部创建一个容器UIViewController

@property (weak, nonatomic) IBOutlet MultiSelectionContainerView *multiSelectionCV;

我希望能够像这样访问选定单元格的数组:

NSArray* selectedCells = [_multiSelectionCV getSelection];

我怎样才能最好地做到这一点?

4

1 回答 1

2

我假设你MultiSelectionContainerView有一个UICollectionView余烬,在你的MultiSelectionContainerView

 - (NSArray *)getSelection{
    NSMutableArray *selectedItems = [[NSMutableArray alloc] init];
    for (NSIndexPath *indexPath in [self.collectionView indexPathsForSelectedItems]){
        YourCollectionViewCell *cell = [self.collectionView cellForItemAtIndexPath:indexPath];
        [selectedItems addObject:cell.label.text];
    }
    return selectedItems;
}

编辑:

您必须逐级传递这些层,例如将其作为属性UIViewController保存,并在 MultiSelectionViewController 中实现我的答案。然后您可以通过以下方式访问它MultiSelectionContainerViewMultiSelectionContainerViewMultiSelectionViewController

 [self. multiSelectionCV.multiSelectionVC getSelection]
于 2014-01-19T01:29:16.900 回答