Block最常用的方式

先写几句废话。做iOS也已经两年有余。之前也想着开个博客,记录下开发的点点滴滴。但自我感觉总结能力不太好,再一个想要总结的东西网上基本也能查的到,也就搁置下来。最近又想着开一个博客,本想着第一篇博客来想讲下cocoapod的使用,但今天在做一个例子时,用到了block,心想网上能查到的block,前篇一律,大部分是个语法。但真正的项目中如何使用block呢,于是乎提笔记下此文,书写下自己对block最常用的方式,也作为自己博客的新篇章。此文只是作为block的理解的辅助文章,如有不合理,不对的地方,请不要吝啬阁下的流量,猛戳进来。

以下开始正文:


block常用的方式:属性,

方法参数,


对于我来说,block最常用的方法就是代替协议。而代替协议使用的时候,属性和方法参数就需要关联使用。

先看下我例子实现的效果,就是一个滚动视图,当点击某一个item时,返回相应item的内容:


定时滚动很简单。代码就不贴了。主要说说点击滚动视图时怎么返回里面的值。这个功能当然用delegate也能实现,但这样简单的回调我更倾向于用block。下面就说说block的实现方法。

首先要在这个滚动视图的类中声明一个block属性,就是上面的第一张截图,返回值空,参数需要一个字符串,

再者,声明一个block作为参数的方法,就是上面的第二张截图,这个block就是返回所需要的字符串值。

.m中的实现也非常简单,

先把方法中的block和属性进行绑定,说白点就是赋值:

这样在调取这个方法时,所执行的block就是属性block。

然后,在item的点击方法中给属性block 进行赋值:

这样就已经OK 了,看下实现:

这个方法你就可以在初始化self.rollView后直接调用,不需要协议那样单拿出来个方法了。

第一次写博客,不知道怎么传自己的demo,可能这里也不支持吧。如果有需要,我会上传到gitHub上,供使用。


此文有用无用,请给个评论,指正我写作的方式,也让我自己能够写出更好的内容,谢谢。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,008评论 25 708
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,198评论 4 61
  • 生活,似乎爱开玩笑。 阳极阴生,阴极阳生。总是顺从着,小心翼翼地埋在自己的世界里,可无奈于个人太渺小,太苍白...
    May菲儿阅读 206评论 0 0
  • 望断映山巅,平川在眼前。 原苍青野阔,鞍马一边悬。 圆柱生明月,尖针刺上延。 洁白如雪耀,悄梦落天渊。
    007008阅读 421评论 0 6
  • 1、把自己搭进去 无论从哪个方面说,文悦都不是愁嫁的女孩。而且她的颜值才情和家境的综合指数都是不低的,追她的男生大...
    老妹儿言情阅读 460评论 2 3