我相信你問的是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個功能。
一種替代方式(位冗長,因爲有人會很少使用)是有一個標誌,並檢查標誌是/否。
-(void) changeButton:(UIButton *)button andAlpha:(float)alpha andEnabled:(BOOL)enabled withFlag:(BOOL)flag{
button.alpha = alpha;
if(flag){
button.enabled = enabled;
}
}
否。創建一個不同的方法,遺漏代碼。 – trojanfoe