iOS中關於巨集定義與常量的使用

2021-09-16 20:11:47 字數 1557 閱讀 6453

現在在做的這個產品,由於需求不斷的新增,工程越來越大,編譯速度是越來越慢。之前就看過帖子:

使用巨集定義過多的話,隨著工程越來越大,編譯速度會越來越慢。

static cgfloat const klogoimagewidth = 100; //logo寬度

static cgfloat const klogoimageheight = 100; //logo寬度

static cgfloat const klogoimagey = 110;

static cgfloat const kbtnheight = 40;

static cgfloat const kpadding = 30;

static cgfloat const kweixintoppadding = 15;

static cgfloat const kweibologinbottom = 230;

#define kscalespace(designspace) ((designspace)*(screen_height/667.0)) //根據iphone6 的設計稿計算縮放高度

替換的時候一定要注意資料型別。對於 cgfloat 和 nsstring型別替換的時候也是一樣的。**如下:

static cgfloat const kbottomheight = 50.0; //底部檢視高度

static nsstring  *const cell_title_key = @"cell_title_key";

static nsstring  *const cell_content_key = @"cell_content_key";

替換完成之後**的編譯速度確實上去了,現在編譯快了。希望對正在為編譯速度慢感到困惑的您有所幫助!

extern nsstring *const user_age_key         ;

extern nsstring *const user_telphone_key    ;

extern nsstring *const user_address_key     ;

extern nsstring *const user_brief_key       ;

nsstring *const bkuser_age_key         =     @"***xx.userage";

nsstring *const bkuser_telphone_key    =     @"***xx.telphoneno";

nsstring *const bkuser_address_key     =     @"***xx.address";

nsstring *const bkuser_brief_key       =     @"***xx.brief";

在需要使用共享常量的檔案中引入userinfomodelconstants.h即可。如果還有什麼不足的地方希望大家指出。

iOS 中的巨集定義,常量,與列舉型別使用

開發過程中的經常需要使用一些全域性的常量,便於方法之間的引數傳遞和型別確定等,經常使用到的有巨集定義,const常量以及列舉等,我們經常使用巨集定義來進行全域性常量的定義,但是是不是所有的全域性常量巨集定義都是最好的選擇呢?巨集定義是我們最經常使用的全域性常量定義方法,使用非常便捷,在使用過程中需要...

const定義常量與巨集定義的區別!!!

巨集定義語法格式 define 巨集名稱 巨集值 不加分號,變數名一般設為大寫 巨集的替換與計算 舉乙個例子 define n 3 1 define y n n 1 n 若執行語句 z 2 n y 5 1 後 z 的值為多少?z 2 3 1 3 1 1 5 1 60 巨集的替換在 執行的預編譯階段,...

關於巨集定義中 與 的用法

巨集在條件編譯以及各種大規模的定義裡是非常有用的。前面qt原始碼學習筆記裡就有一篇用來介紹巨集的定義。這次主要介紹下巨集定義裡 的作用。關於巨集,注意可以用gcc e test.cpp來檢視預編譯之後的結果。1.先介紹 主要是字串替換的作用。將傳入的符號轉化為字串 直接上源 define marco...