Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/110.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 在didFinishLaunchingWithOptions中从其他视图控制器调用方法_Ios_Objective C_Appdelegate - Fatal编程技术网

Ios 在didFinishLaunchingWithOptions中从其他视图控制器调用方法

Ios 在didFinishLaunchingWithOptions中从其他视图控制器调用方法,ios,objective-c,appdelegate,Ios,Objective C,Appdelegate,是否有任何方法可以调用在delegate.m中的didFinishLaunchingWithOptions中的一个视图控制器中创建的方法 具体地说,我想从我的3个视图之一调用以下方法: 这是myViewController.m中的原始方法 - (void)setInitialState { self.start.enabled = YES; self.stop.enabled = NO; self.calculate.enabled = NO; self.resu

是否有任何方法可以调用在delegate.m中的didFinishLaunchingWithOptions中的一个视图控制器中创建的方法

具体地说,我想从我的3个视图之一调用以下方法:

这是myViewController.m中的原始方法

- (void)setInitialState
{
    self.start.enabled = YES;
    self.stop.enabled = NO;
    self.calculate.enabled = NO;
    self.resume.enabled = NO;
}
在didFinishLaunchingWithOptions中调用此选项将使一切看起来都像我在安装后首次启动时所希望的那样

我已尝试将myViewController.h导入delegate.m,但我不确定该如何表达代码,以便它知道如何从delegate在myViewController上运行setInitialState


谢谢你的帮助

您可以创建myViewController类的对象并调用setInitialState方法,如

myViewController *objMyVC = [[myViewController alloc]init];
或者你也可以使用

myViewController *objMyVC = [[myViewController alloc] initWithNibName:@"yourNibName" bundle:nil]];

[objMyVC setInitialState];

我认为您应该将对setInitialState方法的调用放在ViewController的init方法中,而不是在didFinishLaunchingWithOptions中公开它。只要创建这个viewController,现在就可以开始了。谢谢你的回复。这不起作用,因为在中我没有看到初始化:-idinitWithNibName:NSString*nibNameOrNil bundle:NSBundle*nibBundleOrNil{self=[super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];如果self{//这将设置初始启动的初始状态[self.setInitialState];}return self;try-idinitWithCoder:NSCoder*aDecoder方法的viewcontroller。@pawan我有一整套编码器/解码器代码,用于在后台/终止/重新启动期间维护用户输入数据。我不确定如何在initWithCoder方法中实现它。除非我有误解,否则这似乎有些过分。这不可能吗或者不建议像我问的那样调用该方法?您正在使用故事板或xib?感谢您的回答。只尝试了以下操作:UIViewController*TankCalculatorViewController=[[UIViewController alloc]initWithNibName:@TankCalculatorViewController bundle:nil];[TankCalculatorViewController setInitialState];Xcode想将myViewController更改为UIViewController。我在代码中遇到以下错误。/Users/pesky_human/Desktop/Xcode_projects/CNW_Apps/Trak_Strategies_LLC/FlowTrak/FlowTrak/TrakAppDelegate.m:23:35:“UIViewController”的不可见@interface声明选择器“setInitialState”,我想您没有在中查看的引用nib文件。我如何找到nib文件的名称?我正在查看我所有的文件,但没有看到它。顺便说一句,我正在使用故事板。