//weak宏定义
#define HJY_Weak(controller) __weak typeof(controller) weakSelf = controller//GCD - 异步并行队列
#define HJYDISPATCH_GROUP_ASYNC(group_async_block,group_notify_block) dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);\
dispatch_group_t group = dispatch_group_create();\
dispatch_group_async(group, queue, group_async_block);\
dispatch_group_notify(group, queue, ^{\
dispatch_async(dispatch_get_main_queue(), group_notify_block);\
})\//GCD - 一次性执行
#define HJYDISPATCH_ONCE_BLOCK(onceBlock) static dispatch_once_t onceToken; dispatch_once(&onceToken, onceBlock);
//GCD - 异步主线程
#define HJYDISPATCH_MAIN_ASYNC(main_queue_block) dispatch_async(dispatch_get_main_queue(), main_queue_block)
//GCD - 异步子线程
#define HJYDISPATCH_GLOBAL_QUEUE_ASYNC(global_queue_block) dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), global_queue_block)
//使用案例
//HJYDISPATCH_GLOBAL_QUEUE_ASYNC(^{});

关于GCD的一些宏定义相关推荐

  1. iOS日常工作之常用宏定义大全

    前言: 在工作中, 很多小伙伴都会在PCH文件定义一些常用的宏,但是又怕写这些简单的宏浪费时间,又有时候忘记怎么定义了怎么办?本人在工作中也是如此.所以在这里给大家分享一些常用的宏定义,喜欢的小伙伴可 ...

  2. iOS常用宏定义大全

    宏定义与常量的区别 宏:只是在预处理器里进行文本替换,不做任何类型检查,宏能定义代码,const不能,多个宏编译时间相对较长,影响开发效率,调试过慢,const只会编译一次,缩短编译时间. 所以在使用 ...

  3. iOS 通用宏定义 高效全局宏汇总

    最近在搭建新项目,为了方便开发,常会用到一些宏定义,梳理了之前项目中用到,又查漏补缺挑选了一些网络上比较不错的,总结了一份分享给大家. ////define.h//MiAiApp////Created ...

  4. 第六章实验报告(函数与宏定义)

    实验项目:函数和宏定义实验 姓名:谢丽萍    试验地点:教学楼514教室    实验地点:2019 年4月30日 一.实验目的与要求 1.掌握函数的定义方法和调用规则 2.掌握在c语言程序中主调函数 ...

  5. C++ #define(宏定义)的使用

    C++ 宏定义 #define命令是C++语言中的一个宏定义命令,它用来将一个标识符定义为一个字符串,该标识符被称为宏名,被定义的字符串称为替换文本. 宏定义的一般形式 #define <宏名& ...

  6. 如何用C语言改变宏定义的大小,C语言中宏定义使用的小细节

    C语言中宏定义使用的小细节 #pragma#pragma 预处理指令详解 在所有的预处理指令中,#Pragma 指令可能是最复杂的了,它的作用是设定编译器的状态或者是指示编译器完成一些特定的动作.#p ...

  7. c 宏定义用法#define

    转自:https://blog.csdn.net/boring_wednesday/article/details/78756696 宏定义 语法     #define name Stuff #de ...

  8. C语言宏定义使用技巧

    写好C语言,漂亮的宏定义很重要,使用宏定义可以防止出错,提高可移植性,可读性,方便性等等.下面列举一些成熟软件中常用得宏定义...... 1,防止一个头文件被重复包含 #ifndef COMDEF_H ...

  9. 【C语言】07-预处理指令;-宏定义

    预处理指令简介; 1,C在对源程序进行编译之前,会对一些特殊的预处理指令作解释,产生一个新的源程序,此过程叫做编译预处理.C在经过编译预处理之后才对新的源码进行通常的编译; 2,预处理以'#'开头,且 ...

最新文章

  1. Gartner:为什么元宇宙商业离我们还很遥远?
  2. Hotspot垃圾回收
  3. LeetCode_2_两数相加
  4. python有哪些方面_Python学习中最基本的内容,看看有哪些需要我们学习的
  5. iphone桌面上的圆圈怎么设置_苹果手机桌面上找不到便签记事本怎么办?有办法添加吗...
  6. Tortoise SVN 版本控制常用操作知识
  7. 问答丨如何理解哈希表的工作原理?
  8. cookie 和 token 都存放在 header 中,为什么不会劫持 token?____token和cookie的区别
  9. 分布式SESSION一致性
  10. JavaWeb知识点
  11. Django media 配置
  12. java servlet 视频_Servlet开发的理论提升视频教程 - JavaWeb - Java - 私塾在线 - 只做精品视频课程服务...
  13. java 读取txt乱码问题_Java读取txt文档乱码解决方法
  14. 从ResNet101到ResNet50
  15. 人人接龙助手,三分钟为你的微信群创建打卡活动
  16. SERVICE_UNAVAILABLE/1/state not recovered / initialized
  17. katacontainers启动分析
  18. Python-bs4库,find_all 函数处理css样式问题
  19. 卡罗拉 (COROLLA) - 参数配置
  20. 基于微信小程序的校园自助打印系统小程序

热门文章

  1. Linux命令-1-tail
  2. float所表示的范围
  3. C#多线程同步的几种方法
  4. 《惊鸿一瞥》 陈伟鸿
  5. 简历模板免费下载网站(提供免费下载模板网址)
  6. 揭秘LOL背后的IT基础架构丨开发者“打野”工具能做什么?
  7. 项目经理如何带好一支技术团队?
  8. 【CQOI2009】中位数图
  9. redis启动失败出现 system error caught. error code=0x000005af, message=VirtualAllocEx failed.: unknown err
  10. Linux开发板U盘没有反应,一个简单的开发板挂载U盘的问题