从另一个ViewController调用方法

时间:2012-10-12 09:20:31

标签: iphone ios methods uiviewcontroller

我有一个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];

但该方法没有调用。为什么?提前致谢

4 个答案:

答案 0 :(得分:7)

你错过了

self.

只要在viewControllerB中的某个地方:

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

然后:

self.mutableArray =[self.viewControllerA loadData];

会奏效。

答案 1 :(得分:4)

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

- (void)loadData;

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

[viewControllerA loadData];

答案 2 :(得分:0)

viewControllerA在调用[viewControllerA loadData]?

之前在ViewControllerB中分配

答案 3 :(得分:0)

从控制器A推动控制器B时,请指定

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

然后从B调用方法A.您遇到的问题是由于非分配而且只是声明了您在B中创建的“viewControllerA”。