我有一个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];
但该方法没有调用。为什么?提前致谢
答案 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”。