登录 立即注册
金钱:

Code4App-iOS开发-iOS 开源代码库-iOS代码实例搜索-iOS特效示例-iOS代码例子下载-Code4App.com

DUKEBlocksKit部分借鉴了著名框架Aspects,BlocksKit,ReactiveCocoa...

[复制链接]
来自: 请叫我杜克 分类: iOS精品源码 上传时间: 2017-2-21 15:25:35

项目介绍:

DUKEBlocksKit 一行代码解决属性绑定,模仿ReactiveCocoa

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

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【期待】

  • 如果在使用过程中遇到BUG,希望你能Issues我,谢谢(或者尝试下载最新的框架代码看看BUG修复没有)

  • 如果在使用过程中发现功能不够用,希望你能Issues我,我非常想为这个框架增加注册送彩金不限id好用的功能,谢谢

  • 如果你想为DUKEBlocksKit输出代码,请拼命Pull Requests我

  • 感谢你的支持是我无限的动力

如果喜欢请star一下,感谢你的支持!

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

相关源码推荐:

我来说两句
*滑动验证:
所有评论(12)
kengsir 2017-2-21 18:58:48
code4app好的代码demo真的很多,谢谢啦~
回复
AlonMessi 2017-2-21 18:58:55
学习...学习...
回复
phoiu 2017-2-21 18:58:57
膜拜大神~
回复
littleRed 2017-2-21 18:59:24
好好 学习了 确实不错
回复
hellokenken 2017-2-21 19:02:02
感谢分享,楼主V5~
回复
BlueManlove 2017-2-21 19:03:23
相当不错,感谢无私分享精神!
回复
code4app热心网友 2017-2-22 09:08:04
我只是路过打酱油的。
回复
code4app热心网友 2017-2-22 09:35:51
淡定,淡定,淡定……
回复
wenhao1123 2017-2-27 13:50:09
感谢分享,Code4App有你更精彩
回复
12下一页
提取码:  下载次数:12 状态:已购或VIP 售价:0(原价:10)金钱 下载权限:初级码农 
1367 0 12
联系我们
首页/微信公众账号投稿

帖子代码编辑/版权问题

QQ:435399051,742864542

如何获得代码达人称号?

代码贡献英雄榜
用户名 下载数
通过邮件订阅最新 Code4App 信息
上一条 /4 下一条
联系我们
关闭
合作电话:
13802416937
Email:
435399051@qq.com
商务市场合作/投稿
问题反馈及帮助
联系我们

广告投放| 广东互联网违法和不良信息举报中心|中国互联网举报中心|Github|申请友链|手机版|Code4App ( 粤ICP备15117877号-1 )

快速回复 返回顶部 返回列表
博聚网