gpt4 book ai didi

ios - 从 App Delegate 调用 ViewController 方法

转载 作者:行者123 更新时间:2023-11-28 22:01:46 25 4
gpt4 key购买 nike

我的 ViewController 中有一个方法可以根据存在的引脚打开不同的 View ,当分配给初始 View 上的按钮时它可以工作,我也可以将它放在 viewDidLoad 方法中但是我正在使用 Storyboard和此方法 viewDidLoad从模式 segues 触发每个 View 加载,所以我希望从我的 appDelegate didFinishLaunchingWithOptions 调用该方法。它基本上是基于存储的 pin 值的存在在应用程序启动时进行的 View 重定向。

我已经在应用程序委托(delegate)中导入了 View Controller #import "ViewController.h"然后使用 didFinishLaunchingWithOptions 中的当前代码:

ViewController *rootViewController = (ViewController*)self.window.rootViewController;
[rootViewController initView];

我这样做了,但我收到了错误

'ViewController' 的可见接口(interface)没有声明选择器'initView'?

这是我完整的 ViewController.h

#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.m 文件中方法:

-(IBAction)initView:(id)sender {
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSString *getPin = [defaults objectForKey:@"Pin"];
if ([getPin isEqualToString:@""]){
//do something
}else{
//do something else
}
}

关于如何在我的 ViewController.h 文件中正确声明我的 initView 方法以更正此错误的任何想法?谢谢

最佳答案

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

[rootViewController initView:nil];

关于ios - 从 App Delegate 调用 ViewController 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24946942/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com