Несколько запросовWithGraphPath Facebook iOS - PullRequest
5 голосов
/ 02 августа 2011

Может быть, простой вопрос, но я не могу его понять. Я хочу получить фотографию профиля пользователя, но также хочу искать его / ее сообщения. Как это:

[facebook requestWithGraphPath:@"me/picture?type=large" andDelegate:self];
[facebook requestWithGraphPath:@"me/home?q=TEST" andDelegate:self];

Я могу получить снимок с помощью следующего кода:

- (void)request:(FBRequest*)request didLoad:(id)result{
    if ([result isKindOfClass:[NSData class]])
    {

        UIImage *image = [[UIImage alloc] initWithData:result];
        UIImageView *profilePicture = [[UIImageView alloc] initWithImage:image];
        [image release];
        profilePicture.frame = CGRectMake(20, 20, 80, 80);
        [self.view addSubview:profilePicture];
        [profilePicture release];

    }
}

Но я не знаю, как мне получить данные поискового запроса.

Любая помощь будет отличной! Thnx

1 Ответ

14 голосов
/ 02 августа 2011

requestWithGraphPath:andDelegate: возвращает указатель на объект типа FBRequest. Сохраните его и используйте позже, чтобы различать запросы в request:didLoad:, сравнивая его с первым параметром, переданным этому методу.


Например, у вас может быть два свойства для хранения объектов запроса. Хотя, если вы собираетесь обрабатывать много запросов, вы можете использовать контейнер типа NSDictionary.

self.pictureRequest = [facebook requestWithGraphPath:@"me/picture?type=large" andDelegate:self];
self.homeRequest = [facebook requestWithGraphPath:@"me/home?q=TEST" andDelegate:self];

А потом в request:didLoad::

- (void)request:(FBRequest*)request didLoad:(id)result {
    if (request == self.homeRequest) {
        // ...
    } else if (request == self.pictureRequest) {
        // ...
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...