我一直在閱讀有關在iOS中使用#define宏的衝突信息,以及它們是僅在編譯時運行還是在運行時運行。在iPhone/iPad上正確使用宏#define
考慮我的情況:我想定義返回關於屏幕是大尺寸還是小尺寸的BOOL宏,這裏是代碼:
#define TTThisScreenWidth [[UIScreen mainScreen] bounds].size.width
#define TTLargeScreenTrushHold 700.0f
#define TTScreenIsOfLargeSize (TTThisScreenWidth > TTLargeScreenTrushHold)
問題:如果這個代碼只在編譯時運行的屏幕大小將固定在它被編譯到的設備上,並且在具有不同屏幕的設備上運行時不會返回正確的答案。
但是,我檢查了它,它工作正常最初在iPad上編譯時(通用應用程序)
SO:安全嗎?
謝謝!