BlocksKit 是我用的非常爽的库之一,它取代了很多通常的delegate用法,但强大的delegate并不会死,比如UITableView*Delegate和NSURLConnectionDelegate这样的大怪兽。blocks和delegate都含有转发并执行的逻辑前者适合小而常用的逻辑,比如action,animation,BlocksKit对这些用法提炼到了极致(不过还有提升空间,这都是大神的事了)。
它是一个开源的与Cocoa紧密集合的基础性框架,BlocksKit并没有创建新的宏,函数,方法和类,只是对Cocoa类的一个扩展,是一个blocks的大杂碎,也是Zachary Waldowski集思广益精炼得来的,说白了它就是利用blocks的优势,给Cocoa类增加了一系列实用方法, 比如让NSObject执行blocks,用blocks对UIView增加触摸动作。
[_view whenTapped:^{
//........
}];
这样至少再也看不到恶心的btn.tag = [10000+i];这中标记。
或者导航中:
UIBarButtonItem *backForwardBarButton = [[UIBarButtonItem alloc] bk_initWithImage:[UIImage imageNamed:@"Back"] style:UIBarButtonItemStylePlain handler:^(id sender) {
if ([_webView canGoBack]) {
[_webView goBack];
} else {
[self.navigationController popViewControllerAnimated:YES];
}
}];
甚至可以在一些初始化:
UIAlertView *tempAlertView = [[UIAlertView alloc] bk_initWithTitle:title message:detail];
[tempAlertView setAlertViewStyle:UIAlertViewStyleSecureTextInput];
[[tempAlertView textFieldAtIndex:0] setPlaceholder:placeholder];
[tempAlertView bk_addButtonWithTitle:cancelButtonTitle handler:^{
if (cancelButtonHandler) {
cancelButtonHandler();
}
}];
、、、、、、库里面还有大量实用的方法等着大家一起发掘
最后附上github地址:https://github.com/zwaldowski/BlocksKit.git
或者直接cocoa pods: pod 'BlocksKit'
安利一个开源库 -------- BlocksKit
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 简介 项目主页:https://github.com/zwaldowski/BlocksKit BlocksKit...