美文网首页iOS学习笔记iOS学习开发IOS
安利一个开源库 -------- BlocksKit

安利一个开源库 -------- BlocksKit

作者: GGRay | 来源:发表于2016-04-07 11:18 被阅读2108次

    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://www.haomeiwen.com/subject/qrimlttx.html