IOS传值---属性传值、代理委托传值(delegate)传值、单例传值、block传值

单例传值

实际开发中,一般将用户的信息储存在单例之中,单例保证了只有一个事例,一旦系统调用单例方法,就可以对其中的内容进行修改,读取等等。

                                                        

 属性传值

实际开发中,经常会遇到这种情况:前一个页面push到一个新的控制器,push的过程中,需要alloc一个新的控制器实例,我们还需要将前一个页面的信息传递到新建的控制器中,例如系统的通讯录,点击某一个联系人会有部分信息显示到下一控制器。  如何解决呢,我们在新alloc的控制器中声明需要接受数据的类型的属性。直接肤质即可。
 
代理传值
原理是在委托者里赋值,在实现者里通过回调方法取值。
 
 
Block传值
将需要传递的信息作为block的参数。一般block都是写在一个控制器中的一个属性。alloc该类的控制器之后,就能得到一个block属性,参数也就自然而然的被传递过来了。典型的用法是判定多个页面用户是否已经登录(当然,单例更简单)
但是由于需要alloc实例才可以使用,造成了一定的局限性。但是我们可以通过和单例结合的方式来使用block。以后有时间会写出具体用法。
posted @ 2014-02-19 00:44  徐坤很无聊  阅读(337)  评论(2编辑  收藏  举报