Monotouch: я должен распоряжаться видом? - PullRequest
1 голос
/ 04 февраля 2012

В моем AppDelegate у меня есть статическое событие LoggedOn.

Мой родительский viewcontroller отправляет клиентский viewcontroller. Мой клиентский viewcontroller добавляет делегата в событие AppDelegate.LoggedOn.

Когда я открываю клиентский viewcontroller, список для события LoggedOn все еще слушает ... ммм ... мне нужно как-то его утилизировать или что-то еще?

Я думал, что весь клиентский вид был удален, когда я его выскакивал?

Спасибо! Mojo

1 Ответ

1 голос
/ 04 февраля 2012

Лучше всего использовать EventHandlers для глобальных событий, таких как событие LoggedOn, которое у вас есть.Они называются строгими ссылками и не позволят ViewController, который содержит делегата, собирать мусор.

Я бы сделал что-то подобное в ClientViewController:

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

    if(disposing) {
        AppDelegate.LoggedOn -= Handle_LoggedOn;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...