我正在尝试创建第一个viewcontroller
按钮单击以调用第二个viewcntroller方法而不进行任何导航。我的意思是需要保留第一个视图控制器,但只需要在第二个视图控制器上使用cal方法并在那里打印一些NSLog
。
答案 0 :(得分:2)
试试这个:
第二个视图控制器:
-(void)viewDidLoad
{
[super viewDidLoad];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(doClickIt:) name:@"notificationName" object:nil];
}
-(void)doClickIt:(NSNotification*)notification {
}
First View Controller:
在按钮上单击名为
的IBAction方法-(IBAction) someMethod3:(id) sender{
[[NSNotificationCenter defaultCenter] postNotificationName:@"notificationName" object:obj];
}
多数民众赞成。
希望它会对你有所帮助。
答案 1 :(得分:1)
如果我理解你的问题,你可以做以下事情:
在你的firstviewcontroller中:
#import "secondviewcontroller.h" - (Or the name of the viewcontroller)
在(IBAction)方法中,执行以下操作:
Secondviewcontroller *sec = [Secondviewcontroller alloc]init]
[sec theMethod];
然后它会被调用。
我可以问,你怎么想从非活动的viewcontroller调用一个动作?
答案 2 :(得分:1)
尝试以下:
在ViewControllerA.h
中声明方法。
在ViewControllerA.m
中定义方法。
如下所示:
-(NSMutableArray*) MethodOfA;
在ViewControllerB.h
:
#import "ViewControllerA.h"
.......
@property (nonatomic, strong) ViewControllerA * viewControllerA;
@property (nonatomic, strong) NSMutableArray * mutableArray;
在ViewControllerB.m
:
在你的Button动作中添加以下代码:
self.mutableArray =[self.viewControllerA MethodOfA];