Передача данных в контейнер Просмотр из родительского просмотра

3 dcotter [2016-03-12 18:54:00]

Итак, я видел несколько примеров этого и пытался их реализовать, но, похоже, не может заставить его работать. У меня есть два VC (оба отмечены как VC1 на моей фотографии), которые идут во второй контроллер представления (VC2 на фотографии). VC2 имеет вид контейнера. Я передаю данные из свойства на VC1 в свойство на VC2, а затем мне нужно передать эти данные из V2 в свойство в представлении контейнера. Основываясь на использовании некоторых NSLogs, кажется, что подготовка к segue для моего встроенного segue, который идет от VC2 к моему представлению контейнера, срабатывает, прежде чем свойство на VC2 будет установлено данными, передаваемыми VC1, что означает, что никакие данные не передаются мой контейнерный вид. Любой способ обойти это? Спасибо заранее.

Это мой метод подготовки к VC2:

мой контейнерный вид - WineryPhotosCVC. Я пытаюсь установить винный завод WineryPhotosCVC с собственностью VC2s winery. Свойство winery VC2s не устанавливается VC1 перед вызовом метода prepareForSegue в мой контейнер.

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {

if ([segue.identifier isEqual: @"containerViewSegue"]) {
    WineryPhotosCVC *wineryPhotosCVC = segue.destinationViewController;
    wineryPhotosCVC.winery = _winery;
   }
}

введите описание изображения здесь

ios objective-c uicontainerview segue


2 ответа


0 Решение jarryd [2016-03-12 19:07:00]

Вам понадобится ссылка на представление контейнера для изменения и доступа к нему. Поэтому добавьте это, а затем в свой viewWillAppear (который происходит после подготовкиForSegue, передает данные в VC2) VC2, вы просто устанавливаете свойство контейнера либо напрямую, либо используя функцию на контейнере VC, например. configure(someDataStructure: DataStructure)


0 Lachezar Todorov [2016-03-12 19:02:00]

Вы можете сохранить ссылку в VC2 для просмотра контейнера и передать данные, когда это произойдет в VC2 в методе didSet, возможно.