以前写传值都是用代理来写的,代理呢有个问题就是代码量会比较大。作为一个程序员能省就省,所以学了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的用法, 还有许多要学习的地方,里面的理论知识还不太懂。还请大神们欢迎指导!!
如有不足, 欢迎评论指正.
网友评论