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...