界面之间传值有哪几种方法?
单例,代理,直接赋值,通知中心/广播, 数据库等多种
界面1-—>界面2 界面1改变界面2的背景颜色,只需要获得界面2的指针而已,皆可以访问界面的backGroudColor
反向传值 可以包含界面1的指针,但容易引起相互包含
2 block
3 delegate
4 广播
5 单例
6 数据库
代理和通知中心/广播/NoficationCenter 什么区别
代理主要是反向传值,一般用来 1:1 的两个对象通讯上。
通知中心是通过注册然后接收事件的一种 n:n(多对对) 的方法
什么时候用delegate,什么时候用Notification?
答:delegate针对one-to-one关系,并且reciever可以返回值 给sender,notification 可以针对one-to-one/many/none,reciever无法返回值给sender.所以,delegate用于sender希望接受到 reciever的某个功能反馈值,notification用于通知多个object某个事件。