UICollectionViewController встраивать в UIContainerView - Как передать данные родителю?

Моя установка выглядит так:

у меня есть UIViewController с различными элементами поверх него, включая один UIContainerView, Этот контейнер имеет UICollectionView с 9 UICollectionViewCell встроить в него. Все эти клетки имеют один UILabel в теме. Ячейки все по выбору. Итак, в основном я создал элемент множественного выбора. Мой вопрос, как передать выделенные ячейки (лучше всего, как NSArray со строками всех выбранных элементов) к родителю, UIViewController?

Что я сделал до сих пор, это создать IBOutlet к контейнеру в верхней части UIViewController:

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

Я хотел бы иметь возможность получить доступ к массиву выбранных ячеек, как это:

NSArray* selectedCells = [_multiSelectionCV getSelection];

Как мне лучше всего это сделать?

1 ответ

Решение

Я полагаю, ваш 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 держит MultiSelectionContainerView как собственность,MultiSelectionContainerView держит MultiSelectionViewControllerи вы реализуете мой ответ в MultiSelectionViewController. затем вы можете получить к нему доступ через

 [self. multiSelectionCV.multiSelectionVC getSelection]
Другие вопросы по тегам