我一直在阅读有关在 iOS 中使用 #define 宏以及它们是仅在编译时运行还是在运行时运行的相互矛盾的信息。
考虑我的情况:我想定义一个宏,它返回一个与屏幕是大尺寸还是小尺寸有关的 BOOL,这里是代码:
#define TTThisScreenWidth [[UIScreen mainScreen] bounds].size.width
#define TTLargeScreenTrushHold 700.0f
#define TTScreenIsOfLargeSize (TTThisScreenWidth > TTLargeScreenTrushHold)
问题:如果此代码仅在编译时运行,则屏幕大小将在其编译到的设备上固定,并且在具有不同屏幕的设备上运行时不会返回正确答案。
但是:我检查了它,当最初为 iPhone 编译时,它在 iPad 上完美运行(通用应用程序)
SO:不安全吗?
谢谢!