介绍一个blocks工具包BlocksKit
BlocksKit 是一个开源的与Cocoa紧密集合的基础性框架,BlocksKit并没有创建新的宏,函数,方法和类,只是对Cocoa类的一个扩展,是一个blocks的大杂碎,也是Zachary Waldowski集思广益精炼得来的,说白了它就是利用blocks的优势,给Cocoa类增加了一系列实用方法, 比如让NSObject执行blocks,用blocks对UIView增加触摸动作。
?
1 2 3 | [_view whenTapped:^{ //........ }]; |
O-C已经很简单了,但 BlocksKit让它更简单,不过前提是你要知道blocks,如果熟悉 associated value就更好了,如果你熟悉基本api和blocks,那么看看BlocksKit源码,真是简洁明了,大快人心~熟悉delegate的朋友或多或少觉得delegate有点繁琐,BlocksKit在某种程度上取代了通常的delegate用法,但强大的delegate并不会死,比如UITableView*Delegate和NSURLConnectionDelegate这样的大怪兽。blocks和delegate都含有转发并执行的逻辑前者适合小而常用的逻辑,比如action,animation,BlocksKit对这些用法提炼到了极致(不过还有提升空间),而后者适合重量级的转发,比如UIViewController之间的。。。
BlocksKit还有参考文档,不过我想GK喜欢直接看源代码,尝试用用blocks吧,会让你工作轻松不少。
下载地址:
https://github.com/tworthree/BlocksKit
http://dizzytechnology.com/2011/05/18/say-hello-to-blockskit/