我在一个 viewController 中,我们称之为 vcA,我调用第二个 vcB,使用
[self presentModalViewController:vcB animated:YES];
一旦 vcB 被加载,有没有办法获得对 vcA 的引用?
是的,我知道我可以子类化 vcB 并向其添加属性。我只是问是否有一些 native iOS 方法/属性/已经这样做的任何东西。
我在导航 Controller 应用程序上。
谢谢。
最佳答案
如果它用于单火使用并且没有很多协作,我倾向于更喜欢块而不是委派,因为它看起来有点整洁。
例如,如果只是在您使用完 secondViewController 后回调,我会:
向 SecondViewController 添加块属性
@property (nonatomic, strong) void (^onCompletion)(void);
然后在创建 secondViewController 时在 firstViewController
- (void)showSecondViewController;
{
SecondViewController *viewController = [[SecondViewController alloc] init];
viewController.onCompletion = ^{
[self dismissViewControllerAnimated:YES completion:nil];
};
[self presentViewController:viewController
animated:YES
completion:nil];
}
然后在完成后在 secondViewController 中
- (IBAction)doneTapped;
{
if (self.onCompletion) {
self.onCompletion();
}
}
如果您需要返回值,则只需修改块以接受参数
关于iphone - iOS - 对调用者 viewController 的引用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12763209/