iOS常用宏記錄收集

序號 作用
1 TARGET_IPHONE_SIMULATOR 判斷是否是模擬器
2 NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_END 中間的都不能為空
3 NS_DESIGNED_INITIALIZER 其他的初始化方法都必須要調(diào)用此方法
4 NS_UNAVAILABLE 禁用修飾的初始化方法
5 if __has_include 通過宏定義判斷是否引入的是framework唇敞,反之則使用雙引號
6 FOUNDATION_EXPORT 定義常量框冀,類似Define
1内斯、TARGET_IPHONE_SIMULATOR 判斷是否是模擬器
#ifdef TARGET_IPHONE_SIMULATOR

XXXXX  模擬器時會編譯的代碼

#else

XXXXX  不是模擬器才會編譯的代碼

#endif
2络拌、NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_END 中間的都不能為空

__nullable && ___nonnull
__nullable指代對象可以為NULL或者為NIL
__nonnull指代對象不能為null
當(dāng)我們不遵循這一規(guī)則時乃坤,編譯器就會給出警告旬迹。

在NS_ASSUME_NONNULL_BEGIN和NS_ASSUME_NONNULL_END中間修飾的屬性都不能為空

參考鏈接:http://www.reibang.com/p/b3a31eed945f

3荣恐、NS_DESIGNED_INITIALIZER 其他的初始化方法都必須要調(diào)用此方法進行最后的初始化
init方法調(diào)用順序

參考鏈接:http://www.reibang.com/p/5654942cd8f7

4液斜、NS_UNAVAILABLE 禁用修飾的初始化方法

在初始化必須傳入某個參數(shù)化的時候,修飾其他的初始化方法

+ (instancetype)new NS_UNAVAILABLE;
- (instancetype)init NS_UNAVAILABLE; ///< 直接標(biāo)記 init 方法不可用
- (instancetype)initWithUserID:(NSNumber *)userID;/// 相當(dāng)于只能用此方法來初始化

參考鏈接:http://www.reibang.com/p/5654942cd8f7

5叠穆、if __has_include 通過宏定義判斷是否引入的是framework少漆,反之則使用雙引號
#if __has_include(<TestHead/TestHead.h>)
      #import <TestHead/TestHead.h>
#else
      #import "TestHead.h"
#endif
6、FOUNDATION_EXPORT 定義常量

.h文件

FOUNDATION_EXPORT  NSString *const kMyConstantString;

.m文件是這樣定義的

 NSString *const kMyConstantString = @"hello world";

另一種就是常用的#define 方法定義常量了

#define kMyConstantString @"Hello"
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末痹束,一起剝皮案震驚了整個濱河市检疫,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌祷嘶,老刑警劉巖屎媳,帶你破解...
    沈念sama閱讀 217,657評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異论巍,居然都是意外死亡烛谊,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,889評論 3 394
  • 文/潘曉璐 我一進店門嘉汰,熙熙樓的掌柜王于貴愁眉苦臉地迎上來丹禀,“玉大人,你說我怎么就攤上這事鞋怀∷幔” “怎么了?”我有些...
    開封第一講書人閱讀 164,057評論 0 354
  • 文/不壞的土叔 我叫張陵密似,是天一觀的道長焙矛。 經(jīng)常有香客問我,道長残腌,這世上最難降的妖魔是什么村斟? 我笑而不...
    開封第一講書人閱讀 58,509評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮抛猫,結(jié)果婚禮上蟆盹,老公的妹妹穿的比我還像新娘。我一直安慰自己闺金,他們只是感情好逾滥,可當(dāng)我...
    茶點故事閱讀 67,562評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著败匹,像睡著了一般寨昙。 火紅的嫁衣襯著肌膚如雪面哥。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,443評論 1 302
  • 那天毅待,我揣著相機與錄音,去河邊找鬼归榕。 笑死尸红,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的刹泄。 我是一名探鬼主播外里,決...
    沈念sama閱讀 40,251評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼特石!你這毒婦竟也來了盅蝗?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,129評論 0 276
  • 序言:老撾萬榮一對情侶失蹤姆蘸,失蹤者是張志新(化名)和其女友劉穎墩莫,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體逞敷,經(jīng)...
    沈念sama閱讀 45,561評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡狂秦,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,779評論 3 335
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了推捐。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片裂问。...
    茶點故事閱讀 39,902評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖牛柒,靈堂內(nèi)的尸體忽然破棺而出堪簿,到底是詐尸還是另有隱情,我是刑警寧澤皮壁,帶...
    沈念sama閱讀 35,621評論 5 345
  • 正文 年R本政府宣布椭更,位于F島的核電站,受9級特大地震影響闪彼,放射性物質(zhì)發(fā)生泄漏甜孤。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,220評論 3 328
  • 文/蒙蒙 一畏腕、第九天 我趴在偏房一處隱蔽的房頂上張望缴川。 院中可真熱鬧,春花似錦描馅、人聲如沸把夸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,838評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽恋日。三九已至膀篮,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間岂膳,已是汗流浹背誓竿。 一陣腳步聲響...
    開封第一講書人閱讀 32,971評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留谈截,地道東北人筷屡。 一個月前我還...
    沈念sama閱讀 48,025評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像簸喂,于是被迫代替她去往敵國和親毙死。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,843評論 2 354

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

  • 在我們的工程中喻鳄,很多時候只希望在滿足一定條件的時候才進行編譯扼倘,這是就需要用到條件編譯。 #if #elif #el...
    JerryLMJ閱讀 10,171評論 0 14
  • iOS開發(fā)過程中除呵,使用的一些常用宏定義 字符串是否為空#define kStringIsEmpty(str) ([...
    goyohol閱讀 5,356評論 30 85
  • 來源于CocoaChina 在工作中, 很多小伙伴都會在PCH文件定義一些常用的宏再菊,但是又怕寫這些簡單的宏浪費時間...
    iOS學(xué)末閱讀 825評論 3 7
  • 原文鏈接:http://www.reibang.com/p/213b3b96cafe 在工作中, 很多小伙伴都會在...
    為了你而活閱讀 434評論 0 3
  • 前言: 在工作中, 很多小伙伴都會在PCH文件定義一些常用的宏,但是又怕寫這些簡單的宏浪費時間颜曾,又有時候忘記怎么定...
    sherry155閱讀 458評論 0 0