iOS常見巨集定義

2021-08-04 15:54:56 字數 775 閱讀 7237

最基本的巨集定義語法有兩種,一種是簡單的巨集定義,另一種是帶引數的巨集定義。

基本定義:

#define

帶引數的巨集定義:

#define ()  

#. 多引數擴充套件

#define lock(...) osspinlocklock(&_lock); \

__va_args__; \

osspinlockunlock(&_lock);

#. 判斷是否包含了某個framework 

#if __has_include ()

#. 定義區間變數都非空的巨集

ns_assume_nonnull_begin

……ns_assume_nonnull_end

#. 指定初始化函式 

designated initializer

ns_designated_initializer

#. 定義常量

foundation_export nsstring * const testfly;

#. 防止警告

#pragma clang diagnostic push

#pragma clang diagnostic ignored "-warc-performselector-leaks」

//set line here

#pragma clang diagnostic pop

#.其他常見的巨集

判斷是否arc: 

! __has_feature(objc_arc)

ios 巨集定義

這個不是ios 應該算是c裡面的 巨集定義巨集定義是c提供的三種預處理功能的其中一種,這三種預處理包括 巨集定義 檔案包含 條件編譯。1 編輯本段引數 不帶引數 巨集定義又稱為巨集代換 巨集替換,簡稱 巨集 格式 define識別符號字串 其中的識別符號就是所謂的符號常量,也稱為 巨集名 預處理 預...

iOS常用巨集定義

獲取當前螢幕的寬高 define kscreenw uiscreen mainscreen bounds size.width define kscreenh uiscreen mainscreen bounds size.height 判斷當前系統版本 define ios9 uidevice c...

ios 巨集定義除錯

nslog遮蔽輸出 使用nslog的乙個風險是 它的執行會占用時間和裝置資源。當我們用simulator時,nslog的資源占用並不引人注意,風險也不會顯示出來。但是如果你寫的是乙個即時戰略遊戲,而你在每乙個action中都加入了nslog 那麼nslog將成為乙個魔鬼。災難的具體表現常常是 你在s...