以前写传值都是用代理来写的, 代理呢有个问题就是代码量会比较大作为一个程序员能省就省, 所以学了 block, 简单说一下 block 用法我目前还在学习 block, 只是了解他的皮毛! 真正的实现原理还需要以后慢慢学习
好了, 话不多说先说一下需求
这是一个我看了最典型的 block 的使用场景点击 tableviewcell 上的再来一单按钮, 需要传几个值我们都知道 button 是不能带多个参数传值的 这时候就需要 block
具体怎么使用呢, 看代码
在你的 cell 中首先创建 block, 现在 () 当中需要添加参数, 不然会警告 当然如果你不知道应该传什么参数也可以不写,
我们继续 block 用 copy 修饰, 下面写上 block 的方法
在. m 当中
好吧我承认我的图片和代码对不上, 但是没关系功能是一样的, 这里代码没什么可说的到这所有的 cell 里面的代码已经搞定
因为我现在是 xib 布局, 所以在 tableview 的
方法中调用你的两个方法
带上你的参数, 当然这块最好是用 __weak typeof(self) weakSelf = self; 来修饰一下防止循环引用
当然你想要传什么参数都可以, 我这里传了一个数组, 也可以传 model, 字符串 等等 这个就是看自己的需要! 一个简单的 block 的使用, 因为还不会 markdown, 所以只能先用图片代替了 嘿嘿 !!!! 我这只是简单的 block 的用法, 还有许多要学习的地方, 里面的理论知识还不太懂还请大神们欢迎指导!!
如有不足, 欢迎评论指正.
来源: http://www.jianshu.com/p/ce309af274d9