2013-10-18 86 views
0

我试图保存或加载一些数据,当我的应用程序正在终止。在我的ViewController.m中我做了2个函数,一个用于保存,一个用于加载。无法从AppDelegate访问ViewController

在我AppDelegate.m我试图访问我的ViewController,但它似乎并没有工作..

我试了几个,我发现这里的堆栈溢出不同的方式,但没有按委托”不认识它作为一个ViewController什么的:

[self.ViewController myFunction]; 
[self.rootViewController myFunction]; 
[self.window.ViewController myFunction]; 

他们都不工作。我究竟做错了什么?我使用错误的名称为ViewController?

我正在使用故事板的方式..访问方法是不同的吗?

+0

你在哪里以及如何声明你的财产导致你的viewController? – KIDdAe

回答

0

首先你需要做的你self.viewController诸如此类

self.ViewController = [[ActualNameOfViewController alloc] init]; 

然后调用方法对象的初始化诸如此类

[self.ViewController myFunction]; 

可能这是有益的:)

+0

我认为你是对的..但我应该在哪里发表第一个陈述?我只有一个ViewController,这也是实际的名字吗?感谢您的回答。我会赶上它,一旦我得到它的工作:) –

+0

@RomanStrijbos在'窗口'创建后'didFinishLaunchingWithOptions'..和'ActualNameOfViewController'它只是名称理解你:) – iPatel

+1

谢谢,这没有工作:) –

0

首先你需要确保ViewController的输入比执行alloc和init

////#import "ViewController.h" 
ViewController *MyVc = [[ViewController alloc]init]; 
[MyVc myFunction]; 
0

导入您UIViewControllerAppDelegate.m类:

#import SampleViewController.h 

之后创建的UIViewController一个实例:

self.sampleViewController = [[SampleViewController alloc] 
            initWithNibName:@"SampleViewController" 
              bundle:nil]; 
[self.sampleViewController myFunction]; 

SampleViewController是针对UIViewController厦门国际银行的名字。

+0

谢谢!我在哪里把alloc/init?我执行后? –

+0

是的,做一件事情把alloc/init放在 - (void)applicationDidFinishLaunching:(NSNotification *)之后,你可以在任何地方使用该实例来调用视图控制器的函数 –