文档章节

dispath_block_t

Daniella1989
 Daniella1989
发布于 2015/06/21 09:31
字数 166
阅读 9
收藏 0

从本周开始,开始研究在Github中很优秀的开源代码,基于iOS的XMPP框架,其中多个代理delegate,很成功的将耦合降低,很值得学习和欣赏,在XMPPStream.m文件中,#pragma mark configuration部分有如下:

- (void)addDelegate:(id)delegate delegateQueue:(dispatch_queue_t)delegateQueue

{

// Asynchronous operation (if outside xmppQueue)

dispatch_block_t block = ^{

[multicastDelegate addDelegate:delegate delegateQueue:delegateQueue];

};

if (dispatch_get_specific(xmppQueueTag))

block();

else

dispatch_async(xmppQueue, block);

}


block作为回调函数使用,上文为较为简单的不带参数的回调函数,使用dispatch_block_t比使用typedef要简洁一些   typedef void (^block)();

希望对于我这个iOS小白,能够通过慢慢的不断学习牛人的代码,不断提高自己吧

© 著作权归作者所有

共有 人打赏支持
Daniella1989
粉丝 0
博文 2
码字总数 634
作品 0
南京
dispatch queues GCD

我们几乎可以调度队列去完成所有用线程来完成的任务。调度队列相对于线程代码更简单,易于使用,更高效。 下面讲主要简述调度队列,在应用中如何使用调度队列去执行任务。 1.关于调度队列 所...

北方人在上海
2015/11/13
0
0
iOS用dispath_once 和@synchronized创建单例的区别

@synchronized 的优点 使用dispath_once 创建单例 如果对象销毁就不能重新创建 使用@synchronized则可以避免这种情况的发生 使用block而非函数指针这样代码更加自然 @synchronized 的弊端 这...

codeShuai
2017/11/11
0
0
iOS开发 多线程(一)-转自MJ的GCD详解

一、简介 在iOS所有实现多线程的方案中,GCD应该是最有魅力的,因为GCD本身是苹果公司为多核的并行运算提出的解决方案。GCD在工作时会自动利用更多的处理器核心,以充分利用更强大的机器。G...

神补刀
2015/08/17
0
0
iOS开发多线程篇---GCD的介绍和简单使用

1.GCD的简介: Grand Central Dispatch 简称(GCD)是苹果公司开发的技术,以优化的应用程序支持多核心处理器和其他的对称多处理系统的系统。这建立在任务并行执行的线程池模式的基础上的。而...

琳小兮
2015/03/05
0
1
关于GCD一些事

1.GCD简单介绍   GCD全称为"Grand Central Dispath" 纯C语言,提供了非常强大的函数 2.GCD的好处   GCD是苹果为多核的并行运算提出的解决方案   GCD会自动利用更多的CPU内核   GCD会...

冰泪_
2016/08/31
4
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

阿里云API网关使用教程

API 网关(API Gateway)提供高性能、高可用的 API 托管服务,帮助用户对外开放其部署在 ECS、容器服务等阿里云产品上的应用,提供完整的 API 发布、管理、维护生命周期管理。用户只需进行简...

mcy0425
34分钟前
4
0
解决远程登陆误按ctrl+s锁屏假死恢复

使用putty时,偶尔发生屏幕假死,不能输入等情况。 后来发现,只要数据ctrl+s,就会假死;输入ctrl+q就可以恢复过来。 很多刚从windows转移到linux上来工作的朋友,在用vi/vim编辑文件时,常常...

HJCui
37分钟前
0
0
@Transactional

事务管理是应用系统开发中必不可少的一部分。Spring 为事务管理提供了丰富的功能支持。Spring 事务管理分为编程式和声明式的两种方式。编程式事务指的是通过编码方式实现事务;声明式事务基于...

asdf08442a
41分钟前
2
0
widows下强制解除8080端口占用问题

使用win+R打开命令窗口 输入以下命令查看哪个任务占用了8080端口 netstat -ano |findstr "8080" 然后通过任务id强制关闭占用该端口的进程 tskill 10044 // 自己的试情况而定,这个ID是LISTE...

_Artisan
50分钟前
2
0
productFlavors简单实用

最近项目中,不同环境需要配置的参数越来越多,为了减少修改代码次数。研究了一下productFlavors的使用方式,总结如下 1. as3.0以上版本使用productFlavors时需要指定一个flavorDimensions,...

火云
53分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部