2011年9月5日月曜日

条件分岐

if(条件分岐式){
}

上記の形で、条件分岐が可能になうのだが、

a==b

が同じ値であるのに、異なる場合がある。

a = 1;

b = 1;

の場合には
if(a == b)は実行される。

a = @"apple";
b = @"apple";
※この書き方は示すもので正しくない

である場合に、if(a==b)が実行されない場合がある。

これは、ポインタの考え方にある。
aとbは、文字列を保持している場合には、文字列そのものを保持しているのでなく、文字列のデータの格納場所を示している。

この場合に、中身は同じだけど、保存場所が違えば、違うものであると判別される。

値のみを純粋に比べる場合には、

[_a isEqual:b]

と条件を書くと格納の場所にかかわりなく、純粋な値のみを判別してくれる。

0 件のコメント:

コメントを投稿