从另一个ViewController调用方法

我有一个ViewControllerA和一个ViewControllerB。 我想从ViewControllerB调用ViewControllerA的方法。

在ViewControllerA中提供了一个方法:

-(NSMutableArray*) loadData; 

在ViewControllerB.h中:

  #import "ViewControllerA.h" ....... @property (nonatomic, strong) ViewControllerA * viewControllerA; @property (nonatomic, strong) NSMutableArray * mutableArray; 

在ViewControllerB.m中:

 self.mutableArray =[viewControllerA loadData]; 

但方法不是调用。 为什么? 提前致谢

你错过了

 self. 

只要在viewControllerB的某个地方:

 self.viewControllerA = [[viewControllerA alloc]init]; //or some other initialization occurs... 

然后:

 self.mutableArray =[self.viewControllerA loadData]; 

将工作。

确保在viewControllerB的头文件中指定了loadData方法。

 - (void)loadData; 

比之后,现在可以调用loadData方法。

 [viewControllerA loadData]; 

viewControllerA在调用[viewControllerA loadData]之前在ViewControllerB中分配?

在从控制器A推控制器B的同时,请指定

 viewControllerB.viewControllerA = self; [self.navigationController pushViewController:viewControllerB animated:YES]; 

然后从B调用方法A.你遇到的问题是由于在B中创build的“viewControllerA”的非分配和声明造成的。