2011-07-29 6 views
0

可能性の重複:
Help on Objective-C BOOL methods?ヘルプ

@interface 

BOOL isCarryingmallet; 

@implementation 

-(BOOL)isCarryingWeapon { 
    return isCarryingMallet; 
} 

-(int)getWeaponDamage { 
    if (isCarryingMallet) 
     return kVikingMalletDamage; 
    else 
     return kVikingFistDamage; 
} 

は私が-(BOOL)isCarryingWeapon戻りisCarryingWeaponことを知っているが、それは便利だ理由を私は知りません。誰かが私にそれの例を教えてもらえますか?

また、continue;はif文で何をしますか?

ありがとう!

+1

うわー、冗談なし。 ***正確***重複します。 – Perception

+1

私は気づいたばかりですが、彼は同じサンプルコード – sealz

+0

を使って違う何かを求めています。同じコードについて別の質問をしたかったのです。私はそれを説明しておくべきだった – stumped

答えて

1

ウェル-(BOOL)isCarryingWeaponは実際にはboolを返します。メソッドが返す型は、かっこで指定されたものです。例えば(void)は何もありません(NSString)は文字列になります。

-(BOOL)isCarryingWeapon { return isCarryingMallet; }

実際isCarryingMalletの値を返します。したがって、[myObject isCarryingWeapon]を呼び出すと、isCarryingMalletの値に基づいてYESまたはNOが返されます。

for (item in items) 
{ 
    if(item == NULL) 
     continue; 
    else 
     break; 
} 

手段は、ループの開始から次の項目にループを継続する継続例えばループで使用され続けます。ブレークはループを止めることを意味します。だから、これらをループの検索に使うことができます。アイテムがあなたが望むものでない場合、ループを続けることができます。あなたが望むアイテムを見つけたら、早くループサイクルを終了することができます。

0

別のクラスのisCarryingMalletプロパティにアクセスすると便利です。また、実際にBOOL変数に依存しないプロパティを作るために、このようなアクセサメソッドを使用することもできます。たとえば、持ち運んだ武器をリストに格納することを決定した場合でも、同じメソッドを使用して、メソッドに依存する外部コードを変更する必要はありません。

continueifステートメントでは、ifステートメントがループの一部でない場合はコンパイラエラーが発生することを除き、何も行いません。それ以外の場合は、ループの先頭で実行を続けます。

0

ifの文では、continueは何もしません。しかし、ifがループ内にある場合(for、またはwhile、またはdo)、continueは常にそうであるようにループ本体の先頭にジャンプします。

それが

この便利だ理由を私は知らないが、データの隠蔽、私見の一例です。クラスのインタフェースには、クラス消費者が呼び出すことができるisCarryingWeaponメソッドがあります。クラスの実装が剣を可能にするように拡張いくつかの日であれば、あなたのような何かに[isCarryingWeapon]メソッドの内容を変更することができます。

return isCarryingMallet || isCarryingSword; 

と発信者は違いを知ることができません。