2012-05-21 4 views
5

UIViewControllerではないので、ViewDidUnloadメソッドを持たないカスタムのストーリーボードUIクラスにReleaseDesignerOutletsを呼び出すときはいつですか?ViewDidUnloadが存在しないときにReleaseDesignerOutletsを呼び出すタイミング

Fx。カスタムUITableViewCellクラスがあり、私のアウトレットをリリースしたいと思います。 protected void Dispose(bool disposing)メソッドがありますが、このメソッドをオーバーライドするのが正しい方法であるかどうかはわかりません。

+0

私が知っている限り、UITableViewCellの処分またはリリースを処理する必要はありません。 disposeは、まだ表示されていても、セルの作成後に既に呼び出されています。 メモリが必要な場合(静的割り当てを行わない場合)、UITableViewSourceのGetCellメソッドでtableView.DequeueReusableCell( "MyCustomCell")メソッドを使用して既存のセルをリロードできます。 – Theos

答えて

0

ViewDidUnloadが存在しない場合、View Controllerがナビゲーションスタックから削除されたときにコンセントを解放します。 NavigationControllerまたはPresentViewControllerを使用している場合のみ動作します。その場合、親はnullになります。

public override void DidMoveToParentViewController(UIViewController parent) 
{ 
    base.DidMoveToParentViewController(parent); 

    if(parent == null && cleanupOnNavigationStackRemoval) 
    Cleanup(); 
} 


protected void Cleanup() 
{ 
    CleanupBindings(); 

    ReleaseOutlets(); 
}