Очередь запросов Facebook Graph API (iOS) - PullRequest
0 голосов
/ 08 ноября 2011

Как сделать очередь запросов API? Итак, у меня есть некоторые функции:

...

- (void) getUserBasicInfo:(NSString *)stringWithContestOfId;
- (void) getMyFriends;
- (void) getMyEducation;

...

Я хотел бы создать функцию, которая будет вызывать все эти функции. Как сделать паузу до завершения первой функции? Я пытался сделать что-то вроде этого:

...

 [currentUser getMyCurentCity];
     while ([currentUser getFlag] != TRUE) {
        [[NSRunLoop currentRunLoop] runMode:NSDefaultRunLoopMode beforeDate:[NSDate distantFuture]];
 }    

 [currentUser getMyCurentCity];

...

getFlag - функции, которые возвращают флаг успеха, который становится истинным в:

 - (void)request:(FBRequest *) request didReceiveResponse:(NSURLResponse *)response{
     flag = TRUE;
    NSLog(@"I have some information");
 }

Но, наконец, когда я использовал этот метод, был только один успешный запрос из многих. У вас есть больше идей, как это сделать? Это будет идеально, чтобы сделать как: NSOperationQueue.

1 Ответ

0 голосов
/ 09 ноября 2011

Спасибо всем ...

[currentUser getMyCurentCity];
 while ([currentUser getFlag] != TRUE) {
    [[NSRunLoop currentRunLoop] runMode:NSDefaultRunLoopMode beforeDate:[NSDate distantFuture]];
}
[currentUser setFlagFalse];
[currentUser getUserBasicInfo:@"me"];
while ([currentUser getFlag] != TRUE) {
    [[NSRunLoop currentRunLoop] runMode:NSDefaultRunLoopMode beforeDate:[NSDate distantFuture]];
}
[currentUser setFlagFalse];
...