iOS開發常用的宏

  • 很久沒寫了,今天一下子看到一個人關注小小的激動一下

適配屏幕尺寸的宏

  • 根據不同的iPhone尺寸寬高來設置大小,UI常常用iPhone6來設置尺寸,為了適配定義的宏:
#ifndef W_H_
#define W_H_
#define  SCREENWIDTH ([UIScreen mainScreen].bounds.size.width)
#define  SCREENHEIGHT ([UIScreen mainScreen].bounds.size.height)

// 依照iPhone6的尺寸設計
#define GETPIXEL (SCREENWIDTH / 375)
#define AUTOLAYOUTSIZE(size) (size * GETPIXEL)

#endif
  • 解釋: 做成了代碼塊和加了宏保護,根據iPhone手機的尺寸顯示按比例來的尺寸

RGB

  • UI給我們的常常是RGB顏色,所以需要我們轉換一下:
#define RGBCOLOR(R, G, B, A) [UIColor colorWithRed:R/255.0 green:G/255.0 blue:B/255.0 alpha:A]

宏打印

  • 顯示類名,行號,不然常常不知道自己的打印在哪里:
#define NSLog(FORMAT, ...) fprintf(stderr,"%s:%d  \t%s\n",[[[NSString stringWithUTF8String:__FILE__] lastPathComponent] UTF8String], __LINE__, [[NSString stringWithFormat:FORMAT, ##__VA_ARGS__] UTF8String]);
  • 解釋: fprintf是C/C++的一個格式化庫函數,fprintf()函數根據指定的format發送參數到stream(流)指定的文件,fprintf()只能和printf()一樣工作,fprintf()的返回值是輸出的字符數,發送錯誤時返回一個負值
  • FILF: 當前文件夾的路徑,取lastPathComponent最后一個組件就成了類名
  • LINE: 當前運行的代碼的行號數字
  • VA_ARGC(variadic macros): 可變參數宏,讓宏NSLog可以接收多個參數

因為markdown的原因__打不出來,大家注意一下咯

Debug打印,Release不打印:

// 在 "Target > Build Settings > Preprocessor Macros > Debug" 里有一個"DEBUG=1"。
//設置為Debug模式下,Product-->Scheme-->SchemeEdit Scheme設置Build Configuration成Debug時,就可以打印nslog了。設置Release,發布app版本的時候就不會打印了,提高了性能
#ifdef DEBUG
#define NSLog(FORMAT, ...) fprintf(stderr,"%s:%d  \t%s\n",[[[NSString stringWithUTF8String:__FILE__] lastPathComponent] UTF8String], __LINE__, [[NSString stringWithFormat:FORMAT, ##__VA_ARGS__] UTF8String]);
#define debugMethod() NSLog(@"%s", __func__)
#else
#define NSLog(...)
#define debugMethod()
#endif
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 大家都是知道開發中使用宏不僅方便,而且可以提高開發效率, 代碼清晰易懂。下面我總結了我在做iOS開發時的一些常用宏...
    AbnerZhang閱讀 381評論 0 2
  • 『導言』 iOS 開發常用宏總結的相關資料,需要的朋友可以參考下。文章中有不足之處請指正!謝謝! OC對象判斷是否...
    隨心吧閱讀 889評論 0 16
  • 在這里給大家分享一些常用的宏定義,喜歡的小伙伴可以直接在項目中使用。 目錄 1.獲取屏幕寬度與高度2.獲取通知中心...
    CN_HarrySun閱讀 441評論 3 9
  • 在最后一夜 獵人開槍時 鹿王在給妻子寫信 獵人的妻子 咽下最后一口氣 所躺著的是白色病床 在倒數第二夜 鹿王唯一的...
    孫望嶼閱讀 72評論 0 1
  • 許曼從西單大悅城出來的時候已經九點了。撲面而來的燥熱迎上吹了一下午冷氣的皮膚,強烈的刺激感讓她忍不住打了個冷顫,一...
    superFan是個姐姐閱讀 7,481評論 56 129