欢迎光临
我们一直在努力

block库

建站超值云服务器,限时71元/月

block库

项目介绍:

DUKEBlocksKit

  • DUKEBlocksKit is an Objective-C category on UIControl ,dynamic delegate, Observer that allows for handling of control events with blocks

DUKEBlocksKit【前言】

  • DUKEBlocksKit部分借鉴了著名框架Aspects) , BlocksKit) 与 ReactiveCocoa) 神奇的宏定义

  • 1.动态代理:
            – 先简单的介绍一下BlocksKit) 框架的动态代理 在动态代理这部分可以说是 BlocksKit 的精华。它使用 block 属性替换 UIKit中的所有能够通过代理完成的事件,省略了设置代理和实现方法的过程,让对象自己实现代理方法(其实不是对象自己实现的代理方法,只是框架为我们提供的便捷方法,不需要构造其它对象就能完成代理方法的实现),而且这个功能的实现是极其动态的。具体可以参照博客 神奇的BlocksKit)

        – DUKEBlocksKit)在使用上优于BlocksKit, BlocksKit动态代理步骤比较繁琐:1.获取及注册被代理类的动态代理对象 2.需要将委托对象的代理方法映射一个block对象 3.设置为动态代理  DUKEBlocksKit使用步骤请见后面示例
        – DUKEBlocksKit)支持自定义委托方法转block

  • 2.RAC(TARGET, …) 与 RACObserve(TARGET, KEYPATH)的巧妙结合
            – DUKEBlocksKit)模仿了ReactiveCocoa) 支持KVO神奇的宏,例如 RAC宏绑定属性:

        RAC(self.outputLabel, text) = RACObserve(self.model, name);  
  • 3.UIControl事件转block

UIButton *exampleBtn = [UIButton buttonWithType:UIButtonTypeCustom];  
[exampleBtn duke_addTouchUpInside:^(id sender) {  
           // TouchUpInside事件回调  
        }];  

DUKEBlocksKit【支持】

  • 动态代理(UIKit 中的所有能够通过代理完成的事件与自定义委托)

  • 支持ReactiveCocoa)神奇RAC(TARGET, ...)RACObserve(TARGET, KEYPATH)的巧妙结合的宏

  • UIControl事件转block

  • 后续还会增加

DUKEBlocksKit【示例】

1.动态代理

UIActionSheet *sheet = [[UIActionSheet alloc] initWithTitle:@"DUKEBlocksKitExample" delegate:nil cancelButtonTitle:@"取消" destructiveButtonTitle:nil otherButtonTitles:@"Example1",@"Example2",nil];  

    [sheet duke_mapSelector:@selector(actionSheet:clickedButtonAtIndex:) usingBlock:^(UIActionSheet *actionSheet, NSInteger buttonIndex) {  
         // UIActionSheet 回调事件  
    }];  

    [sheet duke_beginDynamicDelegate];  
    [sheet showInView:self.view];  

2.RAC(TARGET, …) 与 RACObserve(TARGET, KEYPATH)

DUKE(self.textfield, text) = DUKEObserve(self.message, text);  

3.UIControl事件转block

UIButton *exampleBtn = [UIButton buttonWithType:UIButtonTypeCustom];  
[exampleBtn duke_addTouchUpInside:^(id sender) {  
           // TouchUpInside事件回调  
        }];  

DUKEBlocksKit【安装】

From CocoaPods【使用CocoaPods】

pod 'DUKEBlocksKit'  

DUKEBlocksKit【如果你觉得不错就star一下,谢谢你的支持】

项目地址: https://github.com/xiezhongmin/DUKEBlocksKit
code4app

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » block库
分享到: 更多 (0)