宏定義和宏方法

宏定義和宏方法

定義機(jī)型

#define is_iPhone5 ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(640, 1136), [[UIScreen mainScreen] currentMode].size) : NO)

#define is_iPhone6 ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(750, 1334), [[UIScreen mainScreen] currentMode].size) : NO)

#define is_iPhone6P ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(1242, 2208), [[UIScreen mainScreen] currentMode].size) : NO)

定義手機(jī)系統(tǒng)型號

#define kOSVersion [[UIDevice currentDevice].systemVersion floatValue]
#define kOS_iOS7 (OSVersion >= 7)
#define kOS_iOS8 (OSVersion >= 8)   
#define kOS_iOS9 (OSVersion >= 9)

宏定義屏幕寬度和高度

#define KScreenSize    [UIScreen mainScreen].bounds.size    
#define KScreenHeight  ([[UIScreen mainScreen] bounds].size.height)
#define KScreenWidth   ([[UIScreen mainScreen] bounds].size.width)

定義打印的東西

#define DLog(fmt, ...) NSLog((@"[文件名:%s]\n" "[函數(shù)名:%s]\n" "[行號:%d] \n" fmt), __FILE__, __FUNCTION__, __LINE__, ##__VA_ARGS__);

通過RGB獲得一個(gè)顏色

static inline UIColor * getBackGoundColor(CGFloat r,CGFloat g,CGFloat b,CGFloat alpha){

return [UIColor colorWithRed:r/255.0 green:g/255.0 blue:b/255.0 alpha:alpha];

}

驗(yàn)證手機(jī)號

static inline bool predicateIsMobilePhone(NSString * mobilePhone){

NSString * validateContent = @"1[3|5|7|8|4|][0-9]{9}";

NSPredicate *validateTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", validateContent];

return [validateTest evaluateWithObject:mobilePhone];

}

比較大小和取絕對值

#define MIN(A,B)    ((A) < (B) ? (A) : (B))

#define MAX(A,B)    ((A) > (B) ? (A) : (B))

#define ABS(A)  ((A) < 0 ? (-(A)) : (A))

隱藏方法警告的方法

#define SuppressPerformSelectorLeakWarning(Stuff) \
do { \
_Pragma("clang diagnostic push") \
_Pragma("clang diagnostic ignored \"-Warc-performSelector-leaks\"") \
Stuff; \
_Pragma("clang diagnostic pop") \
} while (0)

添加觀察者的宏定義方法

    #define REGISTER_SELECTOR(sel, notif_name)                  \
    if([obj respondsToSelector:sel])                            \
        [[NSNotificationCenter defaultCenter]   addObserver:obj \
                                                selector:sel    \
                                                name:notif_name \
                                                object:nil      \
        ];  

驗(yàn)證是不是表情
#define kChat_String_EmojiRegex @"\\[[a-zA-Z0-9\\u4e00-\\u9fa5]+\\]"


下面的宏定義方法在SDWebImage中定義
不在主線程執(zhí)行block

#define dispatch_main_sync_safe(block)\
    if ([NSThread isMainThread]) {\
        block();\
    } else {\
        dispatch_sync(dispatch_get_main_queue(), block);\
    }

在主線程去執(zhí)行block

    #define dispatch_main_async_safe(block)\
    if ([NSThread isMainThread]) {\
        block();\
    } else {\
        dispatch_async(dispatch_get_main_queue(), block);\
    }

參考地址

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末殉农,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子局荚,更是在濱河造成了極大的恐慌超凳,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,743評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件耀态,死亡現(xiàn)場離奇詭異轮傍,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)首装,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,296評論 3 385
  • 文/潘曉璐 我一進(jìn)店門创夜,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人仙逻,你說我怎么就攤上這事驰吓。” “怎么了系奉?”我有些...
    開封第一講書人閱讀 157,285評論 0 348
  • 文/不壞的土叔 我叫張陵檬贰,是天一觀的道長。 經(jīng)常有香客問我缺亮,道長翁涤,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,485評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮葵礼,結(jié)果婚禮上限书,老公的妹妹穿的比我還像新娘。我一直安慰自己章咧,他們只是感情好倦西,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,581評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著赁严,像睡著了一般扰柠。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上疼约,一...
    開封第一講書人閱讀 49,821評論 1 290
  • 那天卤档,我揣著相機(jī)與錄音,去河邊找鬼程剥。 笑死劝枣,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的织鲸。 我是一名探鬼主播舔腾,決...
    沈念sama閱讀 38,960評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼搂擦!你這毒婦竟也來了稳诚?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,719評論 0 266
  • 序言:老撾萬榮一對情侶失蹤瀑踢,失蹤者是張志新(化名)和其女友劉穎扳还,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體橱夭,經(jīng)...
    沈念sama閱讀 44,186評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡氨距,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,516評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了棘劣。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片俏让。...
    茶點(diǎn)故事閱讀 38,650評論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖呈础,靈堂內(nèi)的尸體忽然破棺而出舆驶,到底是詐尸還是另有隱情,我是刑警寧澤而钞,帶...
    沈念sama閱讀 34,329評論 4 330
  • 正文 年R本政府宣布沙廉,位于F島的核電站,受9級特大地震影響臼节,放射性物質(zhì)發(fā)生泄漏撬陵。R本人自食惡果不足惜珊皿,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,936評論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望巨税。 院中可真熱鬧蟋定,春花似錦、人聲如沸草添。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,757評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽远寸。三九已至抄淑,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間驰后,已是汗流浹背肆资。 一陣腳步聲響...
    開封第一講書人閱讀 31,991評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留灶芝,地道東北人郑原。 一個(gè)月前我還...
    沈念sama閱讀 46,370評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像夜涕,于是被迫代替她去往敵國和親犯犁。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,527評論 2 349

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

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理钠乏,服務(wù)發(fā)現(xiàn)栖秕,斷路器春塌,智...
    卡卡羅2017閱讀 134,633評論 18 139
  • 文章轉(zhuǎn)自:http://www.reibang.com/p/5d812a6a160a /** *正則表達(dá)式簡單說明...
    璽睿siri閱讀 746評論 1 2
  • 一晓避、會議時(shí)間:6月17星期六早上6:00-7:00 二、會議地址:YY:1341837189 三只壳、主題 情緒管理...
    靈華有約閱讀 602評論 0 0
  • 2017年6月7日星期三晴 學(xué)經(jīng)人員:琪佳媽俏拱、琪琪、佳佳吼句。 寶貝年齡:琪琪8歲11個(gè)月锅必,佳佳7歲8個(gè)月。 學(xué)經(jīng)周期...
    順德琪佳媽閱讀 183評論 0 0
  • 浣溪沙谁鳍,因春秋戰(zhàn)國時(shí)期越國的美女西施在若耶溪邊浣紗得名癞季。浣劫瞳,也就是“洗”的意思。 西施浣紗的時(shí)候绷柒,連魚兒都驚呆了志于,...
    海新帆影閱讀 315評論 0 1