用 Block 替代 UIButton 的 selector

众所周知,处理 UIButton 的点击事件需要给其所在的 Controller 设置 target ,然后调用 Controller 里对应的方法。这在 MVC 的设计模式下是很符合规范的,因为 View 并不能决定自己要怎么做,它所负责的仅仅是显示出信息,并接受交互事件,所以 View 拿不准的事情或者自己做不到的事情,就要去求助 Controller ,例如 TableView 问控制器:我要显示几组数据?每组里有多少行?每行显示什么 Cell ? 我要开始滚动啦你想做点什么吗?然后控制器才会根据对应的事件作出相应的决定。这分别对应了 delegate 方式和 data source 方式。而 target-action 方式即是用户与 View 交互后,View 询问Controller 需要做什么的一种模式。

继续阅读用 Block 替代 UIButton 的 selector