顺传一般是直接传值 代理传值 A<B-Delegate>//A实现B协议 B //声明协议和方法 声明代理属性 Delegate->(methodFromB:(B)b value:(obj)obj)//B声明协议方法 property-weak-deleagte //在A中 B.delegate = A; //当B中发生传值时调用 B [self.delegate methodFromB:self value:obj] //因为 self.delegate = A //A中执行定义的协议方法接收到值 -methodFromB:(B)b value:(obj)obj block传值 A //A中实现B的block的代码块 B.block = ^(obj){ }; B//声明代码块 typedef BBlock property-block //当B中调用 self.block(obj); 就会调用A中以实现的代码块实现传值 通知传值 A中接收通知 NotificationCenter.addobserve(A).name("NAME").selector(noti:) -noti:(noti)noti{ noti.obj//接收到值 } B中发送通知 NotificationCenter.postName("NAME").obj(obj) 单例传值 //用单例中的值更新A的值 A.property = global.singleton.property; //B中值改变 把值赋给单例 global.singleton.property = B.property;
顺传一般是直接传值
代理传值
block传值
通知传值
单例传值