OC 中定義全局常量的方法

使用 FOUNDATION_EXPORT 或者 #define方法來(lái)定義常量

以上兩種方法都能定義常量但是第一種
.h 文件中

FOUNDATION_EXPORT NSString * const kConstString;  
FOUNDATION_EXPORT NSString * const kConstString2;

FOUNDATION_EXPORT CGFloat const kTittlesViewH;
FOUNDATION_EXPORT CGFloat const kTittlesViewY;

.m 文件中

NSString * const kConstString = @"Hello";
NSString * const kConstString2 = @"World";

CGFloat const kTittlesViewH = 35;
CGFloat const kTittlesViewY = 64;

另一種方法 #define kMyConstantString @"Hello"
但是第一種方法更快, 效率更高, 原因是第一種比較的是指針地址, 第二種是比較每個(gè)字符串是否相等. 顯而易見(jiàn), 第一種速度更快

還有另種是使用 static inline function

一些調(diào)用頻繁的簡(jiǎn)單函數(shù), 也可以使用以上方式, 相比定義宏來(lái)說(shuō), 此方法可以進(jìn)行編譯檢查, 防止出錯(cuò). 例如

static inline CGFloat screenWidth(){
    return [UIScreen mainScreen].bounds.size.width;
}

在其他地方調(diào)用即可

最后編輯于
?著作權(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)容

  • 轉(zhuǎn)至元數(shù)據(jù)結(jié)尾創(chuàng)建: 董瀟偉,最新修改于: 十二月 23, 2016 轉(zhuǎn)至元數(shù)據(jù)起始第一章:isa和Class一....
    40c0490e5268閱讀 2,068評(píng)論 0 9
  • C中的預(yù)編譯宏定義 2009-02-10 作者: infobillows 來(lái)源:網(wǎng)絡(luò) 在將一個(gè)C源程序轉(zhuǎn)換為可執(zhí)行...
    白水灬煮一切閱讀 1,730評(píng)論 0 5
  • Object-c的類可以多重繼承么?可以實(shí)現(xiàn)多個(gè)接口么?Category是什么?重寫(xiě)一個(gè)類的方式用繼承好還是分類好...
    small_Sun閱讀 780評(píng)論 0 0
  • 言之否信,寥寥一生,只夠愛(ài)一人,則余皆為慣兮,興許身,絕無(wú)心。 猶獸初見(jiàn)親,皆為至意,一生唯一,乃至卒爾不棄憶。 ...
    徐三道閱讀 194評(píng)論 0 0
  • 這個(gè)平臺(tái)只是用來(lái)吐槽的,即使是芝麻點(diǎn)大的小事,把所有的不快寫(xiě)下來(lái)只是一種發(fā)泄情緒的方式,也許以后回過(guò)頭來(lái)看感覺(jué)自己...
    卑鄙者閱讀 183評(píng)論 0 0

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