1. 替換字符
///屏幕寬度
#define kMainScreenWidth ([UIScreen mainScreen].bounds.size.width)
///屏幕高度
#define kMainScreenHeight ([UIScreen mainScreen].bounds.size.height)
2. 簡單函數(shù)
//返回二倍原型圖相應(yīng)尺寸
#define Size(originalSize) ([UIScreen mainScreen].bounds.size.width/750*originalSize)
//返回十六進制顏色值
#define color(string) 0x##string
//比較大小
#define MIN(A,B) (A < B ? A : B)
3. 復雜函數(shù)
符號
作用
實例
...
實現(xiàn)可變參數(shù)
##
連接符號,實現(xiàn)前后連接
#define weakObj(obj) _weak typeof(obj) weak ##obj = obj
#
原樣輸出
#define __toString(x) #x
//系統(tǒng)工具方法
__VA_ARGS__ :宏定義中的...中的所有剩余參數(shù)
__COUNTER__ 無重復的計數(shù)器,從程序啟動開始每次調(diào)用都會++,常用語宏中定義無重復的參數(shù)名稱
__FILE__:當前文件的絕對路徑,常見于log中
__LINE__:展開該宏時在文件中的行數(shù),常見于log中
__func__:所在scope的函數(shù)名稱,常見于log中
原文鏈接
4.常用宏
原文鏈接
//文件目錄
#define kPathTemp NSTemporaryDirectory()
#define kPathDocument [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0]
#define kPathCache [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) objectAtIndex:0]
// 獲取RGB顏色
#define RGBA(r,g,b,a) [UIColor colorWithRed:r/255.0f green:g/255.0f blue:b/255.0f alpha:a]
#define RGB(r,g,b) RGBA(r,g,b,1.0f)
//System version utils
#define SYSTEM_VERSION_EQUAL_TO(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] == NSOrderedSame)
#define SYSTEM_VERSION_GREATER_THAN(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] == NSOrderedDescending)
#define SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] != NSOrderedAscending)
#define SYSTEM_VERSION_LESS_THAN(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] == NSOrderedAscending)
#define SYSTEM_VERSION_LESS_THAN_OR_EQUAL_TO(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] != NSOrderedDescending)
//實例
//大于等于7.0的ios版本
#define iOS7_OR_LATER SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"7.0")
//大于等于8.0的ios版本
#define iOS8_OR_LATER SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"8.0")
最后編輯于 :2017.12.08 05:16:26
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者 【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。 平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。