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-日常開發常用巨集定義iOS
- iOS開發常用巨集,持續更新中iOS
- ios開發的巨集定義iOS
- iOS常用巨集定義iOS
- iOS 常用巨集定義大全iOS
- ios的常用開發框架iOS框架
- iOS開發:pch檔案中的巨集定義iOS
- iOS開發中常用的鎖iOS
- iOS開發常用快捷鍵iOS
- iOS開發常用函式iOS函式
- iOS開發技巧:應用巨集定義使用字型iOS
- iOS開發- Xcode常用的快捷鍵iOSXCode
- iOS開發常用框架總覽!iOS框架
- IOS開發常用GitHub開源專案iOSGithub
- iOS開發常用之 HUD 彈窗iOS
- iOS 開發中 runtime 常用的幾種方法iOS
- 6年iOS開發常用的三方庫iOS
- iOS 開發的一些常用工具iOS
- iOS開發中一些常用的屬性iOS
- iOS開發API常用英語名詞iOSAPI
- iOS開發資料庫篇—SQLite常用的函式iOS資料庫SQLite函式
- iOS開發之Runtime常用示例總結iOS
- 常用的幾個提高iOS開發效率的開源類庫及工具iOS
- iOS 通用巨集定義 高效全域性巨集彙總iOS
- iOS開發中陣列常用的五種遍歷方式iOS陣列
- iOS開發常用小技巧記錄(持續更新)iOS
- 跨平臺開發,各種巨集的定義
- Mark走起!iOS開發最常用的第三方庫iOS
- 玩轉iOS開發:iOS中的GCD開發(一)iOSGC
- 玩轉iOS開發:iOS中的GCD開發(三)iOSGC
- 玩轉iOS開發:iOS中的GCD開發(二)iOSGC
- iOS 開發(四) 常用第三方庫篇iOS
- 玩轉iOS開發:iOS中的NSOperation開發(一)iOS
- 玩轉iOS開發:iOS中的NSOperation開發(二)iOS
- iOS標頭檔案中如何在巨集裡引用已有的巨集iOS
- Visual C++ MFC 中常用巨集的含義C++
- iOS開發系列--IOS程式開發概覽iOS
- iOS 官方巨集定義 - “引入”、“廢棄”iOS