Xamarin.ios 当ViewDidUnload不存在时调用ReleaseDesignerOutlet的时间

Xamarin.ios 当ViewDidUnload不存在时调用ReleaseDesignerOutlet的时间,xamarin.ios,uistoryboard,Xamarin.ios,Uistoryboard,当自定义情节提要UI类不是UIViewController并且因此没有ViewDidUnload方法时,您应该何时调用ReleaseDesignerOutlets 外汇。我有一个自定义的UITableViewCell类,希望释放我的Outlet。我可以看到有一个受保护的void Dispose(bool disposing)方法,但无法确定重写此方法是否正确。在没有ViewDidUnload的情况下,当我的视图控制器从导航堆栈中移除时,我正在释放插座。它仅在使用NavigationControl

当自定义情节提要UI类不是
UIViewController
并且因此没有
ViewDidUnload
方法时,您应该何时调用
ReleaseDesignerOutlets


外汇。我有一个自定义的UITableViewCell类,希望释放我的Outlet。我可以看到有一个
受保护的void Dispose(bool disposing)
方法,但无法确定重写此方法是否正确。

在没有ViewDidUnload的情况下,当我的视图控制器从导航堆栈中移除时,我正在释放插座。它仅在使用NavigationController或PresentViewController时有效。在这种情况下,父级将为null

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

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


protected void Cleanup()
{
  CleanupBindings();

  ReleaseOutlets();
}

据我所知,您不必处理UITableViewCell的处置或释放。创建单元格后,即使仍显示dispose,也会调用它。当需要内存时(如果不进行静态分配),tableview会自动释放单元格,您可以使用UITableViewSource的GetCell方法中的tableview.DequeueReusableCell(“MyCustomCell”)方法重新加载现有单元格。