BlocksKit的使用】的更多相关文章

1.blockskit https://github.com/zwaldowski/BlocksKit bk_showAlertViewWithTitle 2.toast +(void)showToast:(NSString *)title inView:(UIView *)view{ MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:view animated:YES]; hud.mode = MBProgressHUDModeText; h…
简介 项目主页: https://github.com/zwaldowski/BlocksKit BlocksKit 是一个开源的框架,对 Cocoa 进行了扩展,将许多需要通过 delegate 调用的方法转换成了 block.在很多情况下,blocks 比 delegate 要方便简单,因为 block 是紧凑的,可以使代码简洁,提高代码可读性,另外 block 还可以进行异步处理.使用 block 要注意避免循环引用. 目录结构 BlocksKit 的所有方法都以bk_开头,这样可以方便地…
私有类 _BKObserver _BKObserver 是用来观测属性的对象,它在接口中定义了 4 个属性: @property (nonatomic,readonly,unsafe_unretained) id observee; @property (nonatomic,readonly) NSMutableArray *keyPaths; @property (nonatomic,readonly) id task; @property (nonatomic,readonly) BKObs…
高能预警:本篇文章非常长,因为 BlocksKit 的实现还是比较复杂和有意的.这篇文章不是为了剖析 iOS 开发中的 block 的实现以及它是如何组成甚至使用的,如果你想通过这篇文章来了解 block 的实现,它并不能帮到你. Block 到底是什么?这可能是困扰很多 iOS 初学者的一个问题.如果你在 Google 上搜索类似的问题时,可以查找到几十万条结果,block 在 iOS 开发中有着非常重要的地位,而且它的作用也越来越重要. 概述 这篇文章仅对 BlocksKit v2.2.5…
BlocksKit(2)-DynamicDelegate 动态代理可以说是这个Block里面最精彩的一部分了,可以通过自己给一个类的的协议方法指定对应的block来实现让这个协议的回调都直接在block里面去执行,那么为什么要这样做呢?从功能的实现上来说,其实所实现的功能是一样,但是在代码的结构上却是非常大的区别.在平常是delegate的时候,我们把一个对象的delegate交给一个弱引用的对象,最常见的就是tableview的实现,然后在这个tableview里面去实现这些协议,对比使用bl…
BlocksKit(1)-基本类型的分类 BlocksKit是一个用block的方式来解决我们日常用对集合对象遍历.对象快速生成使用.block作为委托对象的一种综合便利封装库.这个库主要分三个大块Core.DynamicDelegate.UIKit三块内容,先分析一下第一部分Core,这个部门里面都是对基本类型的提供的分类接口,能够提供使用的便利. 集合类型提供的分类 代码提供了数组.字典.集合等类型的封装,以最常用的NSMutableArray+BlockKit来作为事例看一下: - (vo…
一.引言 众所周知Block已被广泛用于iOS编程.它们通常被用作可并发执行的逻辑单元的封装,或者作为事件触发的回调.Block比传统回调函数有2点优势: 允许在调用点上下文书写执行逻辑,不用分离函数 Block可以使用local variables. 基于以上种种优点Cocoa Touch越发支持Block式编程,这点从UIView的各种动画效果可用Block实现就可见一斑.而BlocksKit是对Cocoa Touch Block编程更进一步的支持,它简化了Block编程,发挥Block的相…
BlocksKit 对 oc语言的功能层.UI层进行了大量的适配,使得oc能够复合函数式编程的风格: 是oc语言的函数式编程风格改造: 将函数式风格的BlocksKit API解释为原生的功能调用: 对系统API的block方式调用的高度封装, 4.BlocksKit目录结构 BlocksKit代码存放在4个目录中分别是Core.DynamicDelegate.MessageUI.UIKit.其中: Core 存放Foundation Kit相关的Block category DynamicDe…
开源 iOS 项目分类索引大全 GitHub 上大概600个开源 iOS 项目的分类和介绍,对于你挑选和使用开源项目应该有帮助 系统基础库 Category/Util sstoolkit 一套Category类型的库,附带很多自定义控件 功能不错-     BlocksKit 将Block风格带入UIKit和Founcation     cocoa-helpers 一些Cocoa的扩展 2年前的工程     CoconutKit 一系列扩展和一些自定组件     STUtils 一系列扩展包  …
   我们在自定义view的时候,通常要考虑view的封装复用,所以如何把view的事件回调给Controller就是个需要好好考虑的问题, 一般来说,可选的方式主要有target-action和delegate,以及这次要强烈推荐的block.      target-action和delegate方式有个很不方便的地方,就是配置代码和action代码不在同一个地方,你肯定要多写一个selector方法或者delegate方法,这就带来一个问题,一旦代码比较长或者selector方法比较多,找…