Monotouch:我必须处理视图吗?

时间:2012-02-03 21:00:08

标签: uiviewcontroller xamarin.ios

在我的AppDelegate中,我有一个名为LoggedOn的静态事件。

我的父视图控制器推送客户端视图控制器。我的客户端视图控制器将一个委托添加到AppDelegate.LoggedOn事件。

当我弹出客户端视图控制器时,LoggedOn事件的列表器仍然在监听..嗯......我需要处理它还是什么?

我认为当我弹出它时,整个客户端视图都被处理了?

谢谢! 魔

1 个答案:

答案 0 :(得分:1)

最好将EventHandler处理为全局事件,例如您拥有的LoggedOn事件。这些被称为强引用,并且会阻止包含委托的ViewController被垃圾收集。

我会在ClientViewController中执行类似的操作:

public override void Dispose(bool disposing) 
{
    base.Dispose(disposing);

    if(disposing) {
        AppDelegate.LoggedOn -= Handle_LoggedOn;
    }
}