#define IS_4_INCH ([[UIScreen mainScreen] bounds].size.height == 568)
上記の IS_4_INCH は、アプリを 4 インチ シミュレーターで実行すると true になります。ランタイム環境を決定するプリプロセッサ ディレクティブです。
これをすぐにクラスメソッドに移動します。しかし、そのステートメントがどのように機能したかを理解するために考えました。
助けてください。
ありがとう。
#define IS_4_INCH ([[UIScreen mainScreen] bounds].size.height == 568)
上記の IS_4_INCH は、アプリを 4 インチ シミュレーターで実行すると true になります。ランタイム環境を決定するプリプロセッサ ディレクティブです。
これをすぐにクラスメソッドに移動します。しかし、そのステートメントがどのように機能したかを理解するために考えました。
助けてください。
ありがとう。
プリプロセッサは基本的に文字列の置換を行います(これは単純化しすぎているかもしれませんが、あなたの例では問題ありません)。
したがって、それが表示されるたびに、IS_4_INCH
それが置き換えられます([[UIScreen mainScreen] bounds].size.height == 568)
たとえば
if(IS_4_INCH) {
に変わるだろう
if(([[UIScreen mainScreen] bounds].size.height == 568)) {
そして、コンパイラがオフになり、コードをコンパイルします。コンパイラは、あなたが書いたことを知りませんIS_4_INCH
。