定義常量[FOUNDATION_EXPORT/#define]

應該使用FOUNDATION_EXPORT還是#define來定義常量?
一般iOS我們定義常量的方法有兩種,來看下面例子
.h文件定義

FOUNDATION_EXPORT NSString * const kMyConstantString;  
FOUNDATION_EXPORT NSString * const kMyConstantString2;

.m文件賦值

NSString * const kMyConstantString = @"Hello";
NSString * const kMyConstantString2 = @"World";

還有一種是常用的#define方法了

#define kMyConstantString @"Hello"
#define kMyConstantString2 @"World"

使用第一種方法在檢測字符串的值是否相等的時候更快.對于第一種你可以直接使用(stringInstance == MyFirstConstant)來比較,
而define則使用([stringInstance isEqualToString:MyFirstConstant])
第一種直接比較的是指針地址,而第二種則是一一比較字符串的每一個字符是否相等.

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 1. Java基礎部分 基礎部分的順序:基本語法,類相關的語法,內部類的語法,繼承相關的語法,異常的語法,線程的語...
    子非魚_t_閱讀 31,778評論 18 399
  • 在分析《孔雀東南飛》的文章里,有位朋友留言,引張愛玲的話:愛一個人,就是卑微到塵埃里去。甚是。劉蘭芝跟“卑微”一點...
    潘家文閱讀 544評論 0 0
  • 1 要有mybatis配置文件SqlMapConfig.xml,plugins標簽中配置分頁插件, 2 配置app...
    橫渡閱讀 249評論 0 0
  • 一、生活事件 今天老師將上周考試的試卷發下來,我有一點錯誤,但老師還是給了我100分。 二、感受輸出 ...
    Cyylinxi閱讀 151評論 0 0
  • 今天,一大早來到公司,開完早會打掃衛生,衛生打掃完后就出去參加車展會,回來后就去雙樹望城量尺寸,量完后打算去碧陽一...
    鄧承友閱讀 121評論 0 0