dispatch_block_t 简单的实现不带参数的回调函数
来源:互联网 发布:bi 数据分析 编辑:程序博客网 时间:2024/06/07 21:05
通常我写一个不带参数的块回调函数是这样写的
在 . h 头文件中
定义类型
typedef void (^leftBlockAction)();
在定义一个回调函数
-(void)leftButtonAction:(leftBlockAction)leftBlock;
在.m 文件中
-(void)leftButtonAction:(leftBlockAction)leftBlock{ leftBlock();}
今天学会一个高大上的方法
只要在.h 头文件定义属性方法
@property (nonatomic,copy) dispatch_block_t leftBlockAction;
在.m文件 调用的方法里调用
if (self.leftBlockAction) { self.leftBlockAction(); }
在另个模块里直接
MyView *alert = [[MyView alloc]init]; alert.leftBlockAction = ^() { NSLog(@"left button clicked"); };
当然了也可以
@property (nonatomic, copy) void(^signInBlock)(NSString *);
if (self.signInBlock) { self.signInBlock(@"今天您已经签到了"); }
其他都相同,这样也就简单了不少。
当然也有如下用法
typedef void (^DownloadSuccess) (NSString *downloadURL, NSData *data);typedef void (^DownloadFailure) (BNetworkError *error, id JSON);typedef void (^DownloadProgress) (CGFloat progress);
if (success){ dispatch_block_t block = ^{ success(url, data); }; if ([NSThread isMainThread] == NO) { dispatch_async(dispatch_get_main_queue(), block); }else{ block(); } }
0 0
- dispatch_block_t 简单的实现不带参数的回调函数
- dispatch_block_t 简单的实现不带参数的回调函数
- dispatch_block_t 简单的实现不带参数的回调函数
- C/C++ 不带参数的回调函数 与 带参数的回调函数 函数指针数组 例子
- 什么是回调函数?回调函数的简单实现。
- 简单的回调函数实现
- java回调函数的简单实现
- 关于回调函数(带参数的回调函数)
- 简单的回调函数
- 回调函数的实现(多参数)
- 一个简单的java回调函数的实现
- 定时器的简单实现即回调函数的运用
- C++的回调函数的简单实现
- PJSIP的DTMF简单实现,回调函数:on_dtmf_digit
- 使用回调函数实现一个简单的计算器;
- ajax回调函数带参数解决方案
- js回调函数和函数带参数的使用示例
- 关于回调函数的参数
- 浅谈学习
- 欢迎使用CSDN-markdown编辑器
- jquery.form.js关于$("form").ajaxSubmit is not a function原因 .
- Unix网络编程第三版源码编译
- ajax async异步
- dispatch_block_t 简单的实现不带参数的回调函数
- Jquery如何获取select选中项 自定义属性的值?
- ios开源框架——UITableView+FDTemplateLayoutCell优化UITableViewCell高度计算
- [datatable]排序时指定某列不可排序
- JAVA RSA公钥私钥学习笔记
- 大话设计模式-第19章 分公司=一部分--组合模式
- SpringMVC整合Shiro
- Nand Flash简介-2
- Java使用socket接收http请求,read方法阻塞的问题