我的项目中有两个视图控制器,ViewController并且SecondViewController我ViewController有一个按钮,它执行一个弹出框,SecondViewController然后在我的SecondViewController我有一个按钮,我想用它来调用一个方法ViewController,我认为它可以使用[self presentingViewController],但是那个指针是设置为零,所以我不太确定如何在弹出框后的第一个ViewController内部调用方法。SecondViewController
这是我的代码ViewController.h
#import <UIKit/UIKit.h>
@interface ViewController : UIViewController
- (IBAction)dosegue:(id)sender;
-(void)tobecalledfromseguepopover;
@end
ViewController.m
#import "ViewController.h"
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.
}
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
}
-(void)tobecalledfromseguepopover{
NSLog(@"Called from segue popover");
}
- (IBAction)dosegue:(id)sender {
[self performSegueWithIdentifier:@"segueforpopup" sender:self];
}
@end
SecondViewController.h
#import <UIKit/UIKit.h>
#import "ViewController.h"
@interface SecondViewController : UIViewController
- (IBAction)returntocaller:(id)sender;
@end
SecondViewController.m
#import "SecondViewController.h"
@interface SecondViewController()
@end
@implementation SecondViewController
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.
}
- (IBAction)returntocaller:(id)sender {
[self dismissViewControllerAnimated:YES completion:^{
ViewController* caller = (ViewController*)[self presentingViewController];
if(caller!=nil){
[caller tobecalledfromseguepopover];
}else{
NSLog(@"nil");
}
}];
}
@end
我的用户界面
那么关于在 segue 之后
如何调用tobecalledfromseguepopover内部的任何想法?SecondViewController还有一种方法SecondViewCOntroller可以知道它是从 segue popover 中调用的吗?