不同界面传值问题

  界面之间传值有哪几种方法?

 单例,代理,直接赋值,通知中心/广播数据库等多种

1直接赋值

界面1-—>界面2  界面1改变界面2的背景颜色,只需要获得界面2的指针而已,皆可以访问界面的backGroudColor

反向传值 可以包含界面1的指针,但容易引起相互包含

2 block

3 delegate

4 广播

5 单例

6 数据库

代理和通知中心/广播/NoficationCenter 什么区别

代理主要是反向传值,一般用来 1:的两个对象通讯上。

通知中心是通过注册然后接收事件的一种 n:n(多对对的方法 

什么时候用delegate,什么时候用Notification?

答:delegate针对one-to-one关系,并且reciever可以返回值 给sender,notification 可以针对one-to-one/many/none,reciever无法返回值给sender.所以,delegate用于sender希望接受到 reciever的某个功能反馈值,notification用于通知多个object某个事件。




你可能感兴趣的:(不同界面传值问题)