Call a parent view controller (through a navigationcontroller)

后端 未结 3 1564
傲寒
傲寒 2020-11-27 04:50

Currently I add a viewcontroller using pushViewController:animated: and now from within that new one would like to call a method inside my \"parent\"-controller

3条回答
  •  囚心锁ツ
    2020-11-27 05:21

    Not sure of your application logic, but you can always do this.

    In your "child" controller, declare property of type parent-controller. So, in your .h file:

    MySuperController *superController;
    property(nonatomic, retain)MysuperController *superController;
    

    and in your .m file:

    @synthesize superController;
    

    Before "pushing" your child controller:

    MyChildController *child = ...
    [child setSuperController:self];
    [self.navigationController pushViewController:child animated:YES];
    

    Then in your child controller you can simply access your super with

    [this.superController myMethod:param];
    

    I'm not going to advocate this way of coding, but it's a quick/cheap/dirty way to accomplish things.

提交回复
热议问题