假設我有一個擴展的UIViewController定製控制器稱爲MyCustomUIViewController:的MonoTouch:重寫UIViewController的方法,正確的方法
public class MyCustomUIViewController : UIViewController
{
//- my class implementation
}
現在我要重寫這樣的方法:
public override void ViewDidLoad()
{
base.ViewDidLoad();
//- other stuff here
}
是它需要調用base.ViewDidLoad()或不?我在哪裏必須調用基本方法?自定義代碼之前或之後(即其他的東西)?我看過很多樣例,其中的基本方法放在做了什麼甚至省略之後。
預先感謝您。問候。
基於這個原因調用base是個很好的習慣 - 因爲面向對象的封裝,你不應該繼續假設base不做任何事情。除此之外,還有一些情況是你有更深的繼承,並且總是調用base來確保你不會短路一些代碼。 – bryanmac
@bryanmac非常好的一點!我所缺少的是ViewDidLoad的默認實現爲空。因此,如果'MyCustomUIViewController'直接擴展'UIViewController',則可以省略基本調用。 –