在我的AppDelegate中,我有一个名为LoggedOn的静态事件。
我的父视图控制器推送客户端视图控制器。我的客户端视图控制器将一个委托添加到AppDelegate.LoggedOn事件。
当我弹出客户端视图控制器时,LoggedOn事件的列表器仍然在监听..嗯......我需要处理它还是什么?
我认为当我弹出它时,整个客户端视图都被处理了?
谢谢! 魔
答案 0 :(得分:1)
最好将EventHandler处理为全局事件,例如您拥有的LoggedOn事件。这些被称为强引用,并且会阻止包含委托的ViewController被垃圾收集。
我会在ClientViewController中执行类似的操作:
public override void Dispose(bool disposing)
{
base.Dispose(disposing);
if(disposing) {
AppDelegate.LoggedOn -= Handle_LoggedOn;
}
}