Как проверить время ожидания запроса, могу ли я установить уведомление? - PullRequest
1 голос
/ 14 декабря 2009

Я хочу проверить, не истек ли срок ожидания запроса после некоторого периода.

Я знаю NSNotifiactionCenter, но не знаю, как установить для него уведомление о превышении времени ожидания запроса.

спасибо.

1 Ответ

4 голосов
/ 14 декабря 2009

Вы могли бы просто использовать таймер и отменить свой запрос на уведомление, если к тому времени его не получили?

например. принимая пример доступности Apple:

- (void) startNotifier
{
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(onReachabilityChanged:) name:@"kNetworkReachabilityChangedNotification" object:nil];
    notified = NO;
    [self performSelector:@selector(onRequestTimeout) withObject:nil afterDelay:5.0]; // 5 secs
}

- (void)onReachabilityChanged:(NSNotification *)note
{
        // Do whatever on notification
        notified = YES;
}

- (void) onRequestTimeout
{
    if (!notified)
    {
        // Do whatever on request timeout
        [[NSNotificationCenter defaultCenter] removeObserver:self name:@"kNetworkReachabilityChangedNotification" object:nil];
    }
}
...