Latest 0.1.6
Homepage https://github.com/JungHsu/EasyBlock
License MIT
Platforms ios 6.0, requires ARC
Authors

Version
Pod License

功能

  1. 将所有的 UIControlEvent 事件改由 Block 处理,无需再写 target-action
  2. 将所有的手势事件改由 Block 处理
  3. 简易的封装了 GCD 的异步处理各种队列的接口,更简单的使用 GCD 所带来的高效率线程处理
  4. 在 EasyGCD 的头文件中,增加了 dispatch_semaphore_t 所设置的锁,可以更简单的处理临界资源的互斥,具有十分优秀的性能,仅次于 OSSpinLock (自旋锁)
  5. 处理开发中经常遇到的多个请求回来时再做某些操作的问题,使用一个由 dispatch_semaphore_t 封装的 EasymultipleTaskLock 来处理这种场景

最近更新

0.1.4

增加可忽略时间,防止按钮或其他事件在一段时间内重复次数太多所造成的BUG

使用方式

  1. 针对于 UIKit

    [self.btnOne addEvent:UIControlEventTouchUpInside handleBlock:^(id instanceSelf) {
        NSLog(@"%@被点击了2",instanceSelf);
    }];
    
    [self.view addGestureRecognizer:[UITapGestureRecognizer new] handleBlock:^(id instanceSelf) {
        NSLog(@"%@",instanceSelf);
    }];
  2. 针对 GCD 的封装api

    // 获得一个锁对象,上锁与解锁
    dispatch_semaphore_t lock = easyGetLock();
    easyLock(lock);
    easyUnLock(lock);
    
    // 针对多任务的 easyGetMultipleTaskLock
       dispatch_semaphore_t lock =  easyGetMultipleTaskLock();
    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1.0 * NSEC_PER_SEC)), easyCGDGetConcurrentQueue(NULL), ^{
        NSLog(@"任务一完成");
        easyMultipleTaskUnlock(lock);
    });
    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2.0 * NSEC_PER_SEC)), easyCGDGetConcurrentQueue(NULL), ^{
        NSLog(@"任务二完成");
        easyMultipleTaskUnlock(lock);
    });
    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(3.0 * NSEC_PER_SEC)), easyCGDGetConcurrentQueue(NULL), ^{
        NSLog(@"任务三完成");
        easyMultipleTaskUnlock(lock);
    });
    // 第二个参数输入锁的数量
    easyMultipleTaskLockCount(lock, 3, ^{
        NSLog(@"任务全部完成");
    });

支持Cocoapods

pod 'EasyBlock'
  • 如果你使用 pod search 命令搜不到,请执行下面的命令更新自己的 cocoapods 官方索引库:
pod repo update

联系我

可以将发现的问题或有好的建议告诉我,邮箱: [email protected]

可以直接在此提 Issues 与 pull

技术交流QQ群群员招募中 ,群ID是 604609288

License

EasyBlock is available under the MIT license. See the LICENSE file for more info.

Latest podspec

{
    "name": "EasyBlock",
    "version": "0.1.6",
    "summary": "a easy function for Block",
    "platforms": {
        "ios": "6.0"
    },
    "description": "u7b80u5355u597du7528u7684u652fu6301u5404u79cdu4e8bu4ef6u8f6cu4e3au95edu5305u5904u7406u7684u5de5u5177,u5f00u59cbu4f7fu7528u5427uff01",
    "homepage": "https://github.com/JungHsu/EasyBlock",
    "license": {
        "type": "MIT",
        "file": "LICENSE"
    },
    "authors": {
        "JungHsu": "[email protected]"
    },
    "source": {
        "git": "https://github.com/JungHsu/EasyBlock.git",
        "tag": "0.1.6"
    },
    "source_files": "EasyBlockDemo/EasyBlock/**/*.{h,m}",
    "requires_arc": true
}

Pin It on Pinterest

Share This