按钮单击以使用目标C调用第一个Viewcontroller到另一个Viewcontroller方法?

时间:2016-01-19 06:25:21

标签: ios objective-c uitableview

我在一个主template<typename Callable, typename... Targs> void call_for_each(Callable&& callable, Targs... Fargs) { using swallow = int[sizeof...(Targs)]; (void) swallow{(callable(Fargs), 0)...}; } 中有多个UIViewController个对象。单击主视图控制器按钮时,我需要调用UIViewController方法。这里有三个视图控制器,它们有三个独立的类文件。

enter image description here

4 个答案:

答案 0 :(得分:0)

使用first controller didSelectRowAtIndexpath方法

    UIStoryboard * board = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
    ViewController * cntrl = [board instantiateViewControllerWithIdentifier:@"ViewController"];
    [self presentViewController:cntrl animated:YES completion:^{

    }];

添加以上代码。此处ViewController只是您的Second view controller。使用cntrl的参考传递数据到Second controller。 如果您想在没有navigation controller引用的情况下导航到任何其他控制器,请使用present view controller

答案 1 :(得分:0)

如果你试图调用其他ViewController中存在的方法而不显示它,我猜你做错了,因为该方法属于ViewController类,理想情况下应该在ViewController的生命周期正在进行时调用。

对于您的场景,我建议您应该创建一个实用程序类,移动接受两个字符串的方法,然后处理该实用程序类中的某些内容,然后从ViewController1调用该方法,如:

[UtilityClassName yourMethodWithFirstString : str1 andSecondString : str2];

希望清除。

答案 2 :(得分:0)

UIViewController *viewVC = [[UIViewController alloc] init];
[self presentViewController:viewVC animated:YES completion:nil];

//Loading a view controller from the storyboard
UIViewController *viewVC = [self.storyboard instantiateViewControllerWithIdentifier:@"IDENTIFIER_OF_YOUR_VIEWCONTROLLER"];
[self presentViewController:viewVC animated:YES completion:nil];

答案 3 :(得分:0)

In First View Controller
//Do this inside your btnCall method
SecondViewController * cntrl = [self.storyboard instantiateViewControllerWithIdentifier:@"secondViewControllerIdentifier"];
[cntrl methodName:firstParameter:secondParameter];

In SecondViewController

In .h file
-(void)methodName:firstParameter:secondParameter;

In .m file
-(void)methodName:firstParameter:secondParameter{
//Do your task here
}