iOSでの#defineマクロの使用と、それらがコンパイル時のみで実行されているのか、実行時でも実行されているのかについて、矛盾する情報を読んでいます。
私の場合を考えてみましょう。画面が大きいサイズか小さいサイズかに関するBOOLを返すマクロを定義したいのですが、コードは次のとおりです。
#define TTThisScreenWidth [[UIScreen mainScreen] bounds].size.width
#define TTLargeScreenTrushHold 700.0f
#define TTScreenIsOfLargeSize (TTThisScreenWidth > TTLargeScreenTrushHold)
問題:このコードがコンパイル時にのみ実行される場合、画面サイズはコンパイル先のデバイスで修正され、別の画面のデバイスで実行すると正しい答えが返されません。
しかし、私はそれをチェックアウトしました、そしてそれは最初にiPhone(ユニバーサルアプリ)のためにコンパイルされたとき、iPad上で完全に動作します
SO:そうしないのは安全ですか?
ありがとう!