Как я могу использовать NotificationCenter UIApplicationDidBecomeActiveNotification, чтобы перезагрузить мой канал RSS - PullRequest
1 голос
/ 20 августа 2011

Я создал приложение, которое загружает данные из файла XML-канала на моем сервере. Это работает нормально, но я хочу, чтобы он обновлялся, если нажата кнопка домой. Я знаю, что мне нужно использовать уведомление UIApplicationDidBecomeActiveNotfication, но я не могу получить его для перезагрузки канала Любая помощь будет принята с благодарностью.

1 Ответ

1 голос
/ 20 августа 2011

В классе, который имеет методы перезарядки, вам нужно добавить наблюдателя во время инициализации (или там, где вы хотите начать наблюдение), чтобы наблюдать за уведомлением, как показано ниже. Вы можете установить селектор, который выполняет перезагрузку, здесь я использовал reloadXMLData, но вы можете изменить его на что угодно.

- (id)init {
    self = [super init];
    if (self) {
        // Other init code here...

        // Add our Observer
        [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(reloadXMLData) name:UIApplicationDidBecomeActiveNotification object:nil];
    }
}

Также обязательно удалите Observer после освобождения вашего класса, если вы добавите его во время init. Если вы добавите его куда-то еще, вам нужно будет удалить его, иначе, если ваш класс освобожден, а наблюдатель все еще активен, ваше приложение вылетит

- (void)dealloc {
    // Other dealloc code here...

    // Remove our Observer
    [[NSNotificationCenter defaultCenter] removeObserver:self];

    [super dealloc];
}

Теперь каждый раз, когда запускается UIApplicationDidBecomeActiveNotification, метод reloadXMLData будет вызываться, пока ваш класс активен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...