博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
优化技巧二、OC开发中常用的tips
阅读量:6372 次
发布时间:2019-06-23

本文共 708 字,大约阅读时间需要 2 分钟。

1.dispatch_block_t

系统已经定义

dispatch_block_t定义如下:typedef void (^dispatch_block_t)(void);复制代码

2.FOUNDATION_EXPORT

我们经常开发的时候会定义一些常量之类的,我们会用到 #define eg:

#define AFURLSessionDidInvalidateNotification @"com.alamofire.networking.session.invalidate"复制代码

FOUNDATION_EXPORT 定义

//.h定义FOUNDATION_EXPORT NSString * const AFURLSessionDidInvalidateNotification;//.m赋值NSString *  const AFURLSessionDidInvalidateNotification = @"com.alamofire.networking.session.invalidate";复制代码

使用FOUNDATION_EXPORT方法在检测字符串的值是否相等的时候效率更快. 可以直接使用(string == AFURLSessionDidInvalidateNotification)来比较, 而#define则使用的是([string isEqualToString: AFURLSessionDidInvalidateNotification])哪个效率更高,显而易见了

FOUNDATION_EXPORT是直接比较指针地址 #define是一一比较字符串的每一个字符是否相等.

转载地址:http://ycyqa.baihongyu.com/

你可能感兴趣的文章
使用 yum 安装 virtualbox 虚拟机
查看>>
mysql03---触发器
查看>>
Azure Automation (3) 定期将某个Azure订阅下的所有虚拟机开关机
查看>>
Nginx 中缓存静态文件秘籍
查看>>
Java Thread 多线程同步、锁、通信
查看>>
tkinter菜单图标,工具栏
查看>>
使用 dep 配置 golang 开发环境
查看>>
《CLR Via C# 第3版》笔记之(二十一) - 异步编程模型(APM)
查看>>
vue.js 2.0 官方文档学习笔记 —— 01. vue 介绍
查看>>
分布式系统理论之两阶段提交协议
查看>>
linux多线程学习笔记六--一次性初始化和线程私有数据【转】
查看>>
ExtJS 4.2 教程-06:服务器代理(proxy)
查看>>
WiFi基本知识【转】
查看>>
【专访】MSRA周明团队,NLP铁军“超越人类”技术揭秘
查看>>
分析Linux内核创建一个新进程的过程【转】
查看>>
Java中使用Runtime和Process类运行外部程序
查看>>
数据库泵(expdp/impdp)导入导出流程
查看>>
STM8S 串口应用 UART2 STM8S105
查看>>
ant 构建时遇到 “非法字符: \65279”的解决办法
查看>>
分享15本iphone开发书籍,需要的来下载
查看>>