iOS中常用的宏定義

判斷真機還是模擬器運行代碼
// 真機
#if TARGET_OS_IPHONE  
#endif  
// 模擬器
#if TARGET_IPHONE_SIMULATOR  
#endif  
系統(tǒng)版本
#define IOS8_OR_LATER ([[UIDevice currentDevice].systemVersion doubleValue] >= 8.0)
顏色宏定義
#define RGBCOLOR(r,g,b) [UIColor colorWithRed:(r)/255.0f green:(g)/255.0f blue:(b)/255.0f alpha:1]
#define RGBACOLOR(r,g,b,a) [UIColor colorWithRed:(r)/255.0f green:(g)/255.0f blue:(b)/255.0f alpha:(a)]
#define HEXCOLOR(rgbValue) [UIColor colorWithRed:((float)((rgbValue & 0xFF0000) >> 16))/255.0 green:((float)((rgbValue & 0xFF00) >> 8))/255.0 blue:((float)(rgbValue & 0xFF))/255.0 alpha:1.0]
屏幕尺寸
#define SCREEN_HEIGHT [[UIScreen mainScreen] bounds].size.height
#define SCREEN_WIDTH  [[UIScreen mainScreen] bounds].size.width
自定義打印
#ifdef DEBUG
#define JSLog(FORMAT, ...) fprintf(stderr,"%s:%d\t%s\n",[[[NSString stringWithUTF8String:__FILE__] lastPathComponent] UTF8String], __LINE__, [[NSString stringWithFormat:FORMAT, ##__VA_ARGS__] UTF8String]);
#else
#define JSLog(FORMAT, ...) nil
#endif
本地保存
#define JSDefault [NSUserDefaults standardUserDefaults]
空對象判斷
//是否為空或是[NSNull null]
#define NotNilAndNull(_ref)  (((_ref) != nil) && (![(_ref) isEqual:[NSNull null]]))
#define IsNilOrNull(_ref)   (((_ref) == nil) || ([(_ref) isEqual:[NSNull null]]))
//字符串是否為空
#define IsStringEmpty(_ref)    (((_ref) == nil) || ([(_ref) isEqual:[NSNull null]]) ||([(_ref)isEqualToString:@""]))
//數(shù)組是否為空
#define IsArrayEmpty(_ref)    (((_ref) == nil) || ([(_ref) isEqual:[NSNull null]]) ||([(_ref) count] == 0))
線程執(zhí)行方法
#define Foreground_Begin  dispatch_async(dispatch_get_main_queue(), ^{
#define Foreground_End    });

#define Background_Begin  dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{\
                                @autoreleasepool {
#define Background_End          }\
                          });
宏判斷ARC和非ARC
#if __has_feature(objc_arc)  
// ARC
#else  
// 非ARC
#endif  
角度和弧度轉(zhuǎn)化
#define degreesToRadian(x) (M_PI * (x) / 180.0)
#define radianToDegrees(radian) (radian*180.0)/(M_PI)
用宏創(chuàng)建一個類的單例
#undef  AS_SINGLETON
#define AS_SINGLETON( __class ) \
+ (__class *)sharedInstance;

#undef  DEF_SINGLETON
#define DEF_SINGLETON( __class ) \
+ (__class *)sharedInstance \
{ \
static dispatch_once_t once; \
static __class * __singleton__; \
dispatch_once( &once, ^{ __singleton__ = [[__class alloc] init]; } ); \
return __singleton__; \
}
防止循環(huán)引用的強弱指針
#define WeakSelf(type)  __weak typeof(type) weak##type = type;
#define StrongSelf(type)  __strong typeof(type) type = weak##type;
設置UIView圓角
#define ViewBorderRadius(View, Radius, Width, Color)\
\
[View.layer setCornerRadius:(Radius)];\
[View.layer setMasksToBounds:YES];\
[View.layer setBorderWidth:(Width)];\
[View.layer setBorderColor:[Color CGColor]]
角度弧度互轉(zhuǎn)
#define DegreesToRadian(x) (M_PI * (x) / 180.0)
#define RadianToDegrees(radian) (radian*180.0)/(M_PI)
沙盒目錄
//獲取temp#define kPathTemp NSTemporaryDirectory()//獲取沙盒 Document#define kPathDocument [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject]//獲取沙盒 Cache#define kPathCache [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) firstObject]

未完岳悟,待續(xù)绷柒。。悯嗓。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末拒迅,一起剝皮案震驚了整個濱河市骚秦,隨后出現(xiàn)的幾起案子她倘,更是在濱河造成了極大的恐慌,老刑警劉巖作箍,帶你破解...
    沈念sama閱讀 218,284評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件硬梁,死亡現(xiàn)場離奇詭異,居然都是意外死亡胞得,警方通過查閱死者的電腦和手機荧止,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,115評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來阶剑,“玉大人跃巡,你說我怎么就攤上這事∧脸睿” “怎么了素邪?”我有些...
    開封第一講書人閱讀 164,614評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長猪半。 經(jīng)常有香客問我兔朦,道長,這世上最難降的妖魔是什么磨确? 我笑而不...
    開封第一講書人閱讀 58,671評論 1 293
  • 正文 為了忘掉前任沽甥,我火速辦了婚禮,結(jié)果婚禮上乏奥,老公的妹妹穿的比我還像新娘摆舟。我一直安慰自己,他們只是感情好英融,可當我...
    茶點故事閱讀 67,699評論 6 392
  • 文/花漫 我一把揭開白布盏檐。 她就那樣靜靜地躺著歇式,像睡著了一般驶悟。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上材失,一...
    開封第一講書人閱讀 51,562評論 1 305
  • 那天痕鳍,我揣著相機與錄音,去河邊找鬼龙巨。 笑死笼呆,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的旨别。 我是一名探鬼主播诗赌,決...
    沈念sama閱讀 40,309評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼秸弛!你這毒婦竟也來了铭若?” 一聲冷哼從身側(cè)響起洪碳,我...
    開封第一講書人閱讀 39,223評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎叼屠,沒想到半個月后瞳腌,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,668評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡镜雨,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,859評論 3 336
  • 正文 我和宋清朗相戀三年嫂侍,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片荚坞。...
    茶點故事閱讀 39,981評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡挑宠,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出颓影,到底是詐尸還是另有隱情痹栖,我是刑警寧澤,帶...
    沈念sama閱讀 35,705評論 5 347
  • 正文 年R本政府宣布瞭空,位于F島的核電站揪阿,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏咆畏。R本人自食惡果不足惜南捂,卻給世界環(huán)境...
    茶點故事閱讀 41,310評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望旧找。 院中可真熱鬧溺健,春花似錦、人聲如沸钮蛛。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,904評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽魏颓。三九已至岭辣,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間甸饱,已是汗流浹背沦童。 一陣腳步聲響...
    開封第一講書人閱讀 33,023評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留叹话,地道東北人偷遗。 一個月前我還...
    沈念sama閱讀 48,146評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像驼壶,于是被迫代替她去往敵國和親氏豌。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,933評論 2 355

推薦閱讀更多精彩內(nèi)容