Swift中巨集 define的替代方案

2021-07-11 08:33:26 字數 495 閱讀 2100

我們在swift中已經沒有#define這種巨集定義了,那麼替代方案有哪些呢?

1、let宣告常量

let is_ios7 = (uidevice.currentdevice().systemversion as nsstring).doublevalue >= 7.0
當然這種代替方案 只適用於一般的常量巨集定義,如果想定義表示式等複雜的巨集,let做不到啊!!!

2、在***.swift檔案中建立全域性func函式

// 控制台列印

func drlog(item: any...)

在配合let,代替常量巨集,作為drlog是否列印的開關:

let kprintlog = 1

// 控制台輸出開關 1:開啟 0:關閉

// 控制台列印

func drlog(item: any...)

}

define巨集定義中的 ,

1 stringizing 字串化操作符 其作用是 將巨集定義中的傳入引數名轉換成用一對雙引號括起來引數名字串。其只能用於有傳入引數的巨集定義中,且必須置於巨集定義體中的引數名前。如 define example instr printf the input string is t s n inst...

define巨集定義中的 , , ,

巨集只能放在一行,分多行時應用在行尾用 需要是最後乙個字元,最後一行不寫 c c 巨集命令的神奇用法。先看下面三條語句 cpp view plain copy define conn x,y x y define tochar x x define tostring x x 1 連線操作符 x y表...

swift中的巨集

swift本身不支援巨集定義,因此相關的操作採用的是常量代替 1.建立乙個swift檔案專門用於存放代替巨集的常量 2.常量 巨集定義 let screen height uiscreen.mainscreen bounds height let screen width uiscreen.main...