通知、delegate和block的区别

来源:互联网 发布:cf刷凤舞软件 编辑:程序博客网 时间:2024/05/16 18:56

通知:只发出通知,不需要知道向谁发出通知,一般情况下是一对多的关系,类似于广播的原理,广播台发出广播,听不听是用户的事情。

delegate:强调单一拥有和可控制,改变和传递控制链,比如tableView,它的协议是UITableViewDelegate与UITableViewDataSource,在处理tableView的时候,需要遵守相应地协议,才能控制table。我们遵守协议后,用到相应地方法,比如构建UITableViewCell方法,需要知道当前页面处于哪一行,则该方法就告诉我们处于哪一行,同时我们想定制cell的样式,则页面得到cell信息。这样达到单一拥有和可控制的效果。


block

1.写法更简单,不需要写protocol,函数等

2.block注重结果的传输,比如对于一个事件,只想知道成功或者失败,并不需要知道进行了多少或者额外的信息

3.block需要注意防止死循环



0 0
原创粉丝点击