优化技巧二、OC开发中常用的tips

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是一一比较字符串的每一个字符是否相等.

你可能感兴趣的:(优化技巧二、OC开发中常用的tips)