iOS 好用的宏

部分原創(chuàng),部分網(wǎng)上

oc 禁用某個(gè)方法

- (instancetype) init NS_UNAVAILABLE;

判斷nil的宏

//只需要一個(gè)參數(shù),如果參數(shù)存在程序繼續(xù)運(yùn)行,如果參數(shù)為空,則程序停止打印日志
 NSParameterAssert(str); 

懶加載

#ifndef PCH_LazyLoading
#define PCH_LazyLoading(_type_, _ivar_) \
- (_type_ *)_ivar_ { \
if (! _##_ivar_) { \
_##_ivar_ = [[_type_ alloc] init]; \
} \
return _##_ivar_; \
}
#endif

#ifndef PCH_LazyLoadingBlock
#define PCH_LazyLoadingBlock(_type_, _ivar_ ,block) \
- (_type_ *)_ivar_{\
void(^initBlock)(_type_ *_ivar_) = ^(_type_ *_ivar_) block;\
if (!_##_ivar_) {\
_type_ *_ivar_ = [[_type_ alloc] init];\
_##_ivar_ = _ivar_;\
initBlock(_ivar_);\
}\
return _##_ivar_;\
}
#endif

debug

#define Debug_BaseViewControllerCreated(str) [[NSClassFromString(str) alloc] init]

// 覆蓋系統(tǒng)自帶的

#ifdef DEBUG
#define NSLog(FORMAT, ...) fprintf(stderr,"%s:%d\t%s\n",[[[NSString stringWithUTF8String:__FILE__] lastPathComponent] UTF8String], __LINE__, [[NSString stringWithFormat:FORMAT, ##__VA_ARGS__] UTF8String]);
#else
#define NSLog(FORMAT, ...) nil
#endif

color

#define PCH_CUSTUM_COLOR(y) [UIColor colorWithRed:((float)((y  & 0xFF0000) >> 16))/255.0 green:((float)((y  & 0xFF00) >> 8))/255.0 blue:((float)(y  & 0xFF))/255.0 alpha:1.0]  //custumcolor輸入對(duì)應(yīng)的色值

#define PCH_CUSTOM_BLUE_COLOR PCH_CUSTUM_COLOR(0x15B0C9)

frame

#define PCH_SCREEN_HEIGHT  ([UIScreen mainScreen].bounds.size.height)
#define PCH_SCREEN_WIDTH   ([UIScreen mainScreen].bounds.size.width)

#define PCH_SIZE_SCREEN_HEIGHT    (PCH_SCREEN_HEIGHT/667)
#define PCH_SIZE_SCREEN_WIDTH     (PCH_SCREEN_WIDTH/375)

//像素為單位的 不需要自己除以2
#define PCH_BitMap_BY_SIZE(height) (((height)/2)*PCH_SIZE_SCREEN_WIDTH)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 因?yàn)橐Y(jié)局swift3.0中引用snapKit的問(wèn)題,看到一篇介紹Xcode8,swift3變化的文章,覺(jué)得很詳細(xì)...
    uniapp閱讀 4,877評(píng)論 0 12
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,366評(píng)論 25 708
  • 今天早上我自己起床,然后我穿好衣服,今天我穿的衣服和昨天的衣服一模一樣。我穿的外套和昨天的不一樣了,昨天我的外套后...
    161d968e601f閱讀 239評(píng)論 0 0
  • 1.你其實(shí)沒(méi)有你想象的那么重要 有人說(shuō)過(guò):“人會(huì)長(zhǎng)大三次。第一次是在發(fā)現(xiàn)自己不是世界中心的時(shí)候。第二次是在發(fā)現(xiàn)即使...
    兔牙哈i閱讀 606評(píng)論 0 0
  • 很想自私的只有自己知道你就好 別人都不知道 只有自己拿著你細(xì)細(xì)品味 只有自己默默的支持你 那樣你才會(huì)把我也看成唯一...
    夏己閱讀 486評(píng)論 0 1

友情鏈接更多精彩內(nèi)容