我在一个主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
方法。这里有三个视图控制器,它们有三个独立的类文件。
答案 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
}