C ++のデフォルトのパラメーター化された関数について質問していると思います。
しかし、Objective-C はこれをサポートしていません。
ただし、2 つのメソッドを作成できます。
-(void) changeButton:(UIButton *)button andAlpha:(float)alpha {
button.alpha = alpha;
}
-(void) changeButton:(UIButton *)button andAlpha:(float)alpha andEnabled:(BOOL)enabled {
button.alpha = alpha;
button.enabled = enabled;
}
C の場合: ObjC を使用して C サブセットに追加される特別なものはありません。純粋な C で実行できないことは、ObjC でコンパイルしても実行できません。つまり、既定のパラメーターを使用したり、関数をオーバーロードしたりすることはできません。代わりに 2 つの関数を作成します。
別の方法の 1 つ (めったに使用しないため、ビットが長くなります) は、フラグを設定し、フラグの YES/NO をチェックすることです。
-(void) changeButton:(UIButton *)button andAlpha:(float)alpha andEnabled:(BOOL)enabled withFlag:(BOOL)flag{
button.alpha = alpha;
if(flag){
button.enabled = enabled;
}
}