前两篇说到了block传值和代理传值,使用过的都知道这两种方法有点不足之处,就是在接受值方(类)必须要有传值方(类)的指针,要是没有指针的话,block方法找不到block方法的属性,代理找不到执行代理的指针,所以这两种最常用的传值方法也就束手无策了,当然了你要是一个一个传的话也可以,但是过程是很繁琐的(至少我是这么认为的)。
前几天了解了另外一种方法,具体叫什么名称也搞不清楚了,反正传值的时候,或者在自己的类中指使另一个类调用某个方法都是挺好使的,在这里和大家一起探讨下。
//需求:给某个界面调用方法,比如在某个界面上添加一个label 或者传值
//遍历导航控制器中所有的VC
for (id vc in self.navigationController.viewControllers) {
if ([vc isKindOfClass:[ViewController1 class]]) {//(ViewController1比如是你想让哪个类调用方法的类名)
[(ViewController1*)vc addCreateLabel];//这里就实现了调用 当然传值的话在方法里加个你想传值的参数即可
return;
}
}