2015-03-05 1 views
1

Я разрабатываю приложение, я хочу отправить значение из MainViewController в ContainerViewController. Я добавил делегата из MainVC в Container (A), и я определил один метод для отправки значений. Но этот метод не работает. Я считаю, что использование prepareForSegue неверно. Является ли делегат полезным для двухсторонней связи между двумя видами с разными методами? Я добавил изображение, чтобы описать свою ситуацию.Отправлять значение из MainViewController в ContainerViewController?

Спасибо за помощь.

Вот мой кодовый блок MainVC;

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender 
{ 
    if ([segue.identifier isEqualToString:@"layersViewSegue"]) { 
    [ (LayersViewController *)segue.destinationViewController setDelegate:self]; 


} 
else if ([segue.identifier isEqualToString:@"addLayerSegue"]) { 
    [ (AddLayerViewController *)segue.destinationViewController setDelegate:self]; 


} 
} 

Контейнер Блочный код

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

if ([segue.identifier isEqualToString:@"layersViewSegue"]) { 
    [ (ViewController *)segue.destinationViewController setDelegate:self]; 

} 
} 

enter image description here

ответ

0

Что-то вроде этого:

YourDestinationController.h // Контейнер

@property (strong, nonatomic) NSString *assignableString // any object/variable 

MainViewController.m

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender 
{ 
    if ([segue.identifier isEqualToString:@"yourSegueIdentifier"]) 
    { 
     YourDestinationController *yourDestinationController = (YourDestinationController*)segue.destinationViewController; 
     yourDestinationController.assignableString = /* your string */; 
    } 
} 
+0

Спасибо за ответ. Я отправляю значение из контейнера B в mainVC, а не из mainVC в контейнер A. Я пытаюсь вызвать prepareForSegue при выборе контейнера, но я получаю эту проблему. «В представлении контейнера есть непредвиденные подпункты. Возможно, встроенный segue уже запущен один раз или подвью была добавлена ​​программно? ' " Как я могу сделать ? – fozoglu

+0

Никогда не сталкивался с этой проблемой ... На самом деле трудно получить проблему с предоставленной информацией. – Nick

 Смежные вопросы

  • Нет связанных вопросов^_^