Не могу получить доступ к uitextfield в childviewcontroller - PullRequest
1 голос
/ 04 марта 2020

Childview

@interface GenWarnDangerVC : UIViewController <UITextViewDelegate>
@property (weak, nonatomic) IBOutlet UITextView *riddorText;

В родительском я хочу получить доступ к UITextView, но не могу получить синтаксис

NSString* tempString = self.currentChildController.view.riddorText;
NSString* tempString = self.currentChildController.riddorText;
NSString* tempString = self.childViewControllers[0].riddorText;
etc

Настройка идет так

[self addChildViewController:[self.storyboard instantiateViewControllerWithIdentifier:@"ChildFour"]];

GenWarnDangerVC * GenWarnDanger_vc = [self.storyboard instantiateViewControllerWithIdentifier:@"ChildOne"];
[self addChildViewController:GenWarnDanger_vc];
GenWarnDanger_vc.delegate = self;

self.currentChildController = self.childViewControllers[0];


self.currentChildController.view.frame = self.containerView.bounds;
[self.containerView addSubview:self.currentChildController.view];

1 Ответ

1 голос
/ 04 марта 2020

Если принять во внимание возможную расширяемость и / или возможность повторного использования, вот безопасный способ доступа к указанным выше дочерним контроллерам c

if ([self.currentChildController isKindOfClass:GenWarnDangerVC.class]) 
{
    GenWarnDangerVC *controller = (GenWarnDangerVC *)self.currentChildController;

    // << do anything with "controller" directly access properties & methods 

    // for example
    controller.riddorText.text = @"New text";
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...