多个requestWithGraphPath Facebook iOS

时间:2011-08-02 18:46:18

标签: iphone objective-c ios facebook-graph-api

也许是一个简单的问题,但我似乎无法得到它。我想获取用户个人资料图片,但也希望搜索他/她的帖子。像这样:

[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 个答案:

答案 0 :(得分:14)

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) {
        // ...
    }
}