Ios 从应用程序委托调用ViewController方法

Ios 从应用程序委托调用ViewController方法,ios,objective-c,uiviewcontroller,Ios,Objective C,Uiviewcontroller,我的ViewController中有一种方法,可以根据存在的pin打开不同的视图,当分配给初始视图上的按钮时,该方法可以工作,我也可以将其放入viewDidLoad方法中,但我使用的是故事板,并且该方法viewDidLoad在模态分段的每个视图加载上启动,因此,我希望从appDelegate didFinishLaunchingWithOptions调用该方法。 它基本上是应用程序启动时基于存储的pin值的视图重定向 我已在app delegate中导入视图控制器#导入“ViewControll

我的ViewController中有一种方法,可以根据存在的pin打开不同的视图,当分配给初始视图上的按钮时,该方法可以工作,我也可以将其放入viewDidLoad方法中,但我使用的是故事板,并且该方法viewDidLoad在模态分段的每个视图加载上启动,因此,我希望从appDelegate didFinishLaunchingWithOptions调用该方法。 它基本上是应用程序启动时基于存储的pin值的视图重定向

我已在app delegate中导入视图控制器
#导入“ViewController.h”
然后使用didFinishLaunchingWithOptions中的当前代码:

ViewController *rootViewController = (ViewController*)self.window.rootViewController;
[rootViewController initView];
我这样做,但我得到的错误

“ViewController”没有可见接口声明选择器“initView”

这是我的全视图控制器

#import <UIKit/UIKit.h>

@interface ViewController : UIViewController {

IBOutlet UITextField *emailField;
IBOutlet UITextField *passwordField;
IBOutlet UITextField *pinField;
IBOutlet UITextField *checkPin;

}

@property (nonatomic, strong) IBOutlet UIWebView *webView;
@property (strong, nonatomic) IBOutlet UIBarButtonItem *ShowEmailList;
-(IBAction)showList:(id)sender;

-(IBAction)checkPin:(id)sender;
-(IBAction)initView:(id)sender;

@end
关于如何在我的ViewController.h文件中正确声明initView方法以更正此错误,您有什么想法吗?
谢谢

您需要为此方法添加一个参数,如:

[rootViewController initView:nil];
您的
-(iAction)initView:(id)发送方需要一个参数

有两种方法可以解决这个问题

  • 将方法签名修改为
    -(iAction)initView{//source.}

  • 从调用方方法传递nil或
    AppDelegate

    [rootViewController initView:nil]
    [rootViewController initView:self]


谢谢,这正是我需要的
[rootViewController initView:nil];