Метод сна до уведомления - PullRequest
       27

Метод сна до уведомления

0 голосов
/ 27 сентября 2011

Можно ли как-нибудь перевести метод в режим сна, пока не будет опубликовано уведомление? Это для асинхронного NSURLConnection. Я не могу перейти к синхронному соединению по нескольким причинам.

Ответы [ 2 ]

1 голос
/ 27 сентября 2011

Методы не могут "спать";это относится только к темам.Просто разбейте код, который должен ожидать, на другой метод и вызовите этот метод при получении уведомления.

- (void) doStuffBeforeConnection {

    [self doPreConnectionStuff];

    NSURL * url = [NSURL URLWithString:@"/U/R/L"];

    NSURLRequest * request = [NSURLRequest requestWithURL:url
                                            cachePolicy:NSURLRequestReturnCacheDataElseLoad
                                         timeoutInterval:0];
    NSURLConnection * conn = [NSURLConnection connectionWithRequest:request
                                                         delegate:self];

    return;
    // We are now "waiting"...
}

- (void) connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response {

    [self nowDoStuffThatNeededToWait:response];
}
0 голосов
/ 27 сентября 2011

используйте addobserver и установите целевой класс с селектором для запуска при уведомлении. когда вам нужно запустить, используйте postNotification с notificatonName. вот и ты .. !!

...