2011-08-02 15 views
5

Quizás una pregunta simple pero parece que no puedo obtenerla. Quiero obtener la foto de perfil de los usuarios, pero también quiero buscar sus publicaciones. De esta manera:Multiple requestWithGraphPath Facebook iOS

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

puedo conseguir el picute a cabo con el siguiente código:

- (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]; 

    } 
} 

Pero no saber cómo puedo obtener los datos de consultas de búsqueda a cabo.

¡Cualquier ayuda sería genial! Thnx

Respuesta

14

requestWithGraphPath:andDelegate: devuelve un puntero a un objeto del tipo FBRequest. Guárdelo y utilícelo más adelante para diferenciar entre las solicitudes en request:didLoad: comparándolas con el primer parámetro que se pasa a este método.


Por ejemplo, puede tener dos propiedades para contener los objetos de solicitud. Aunque, si va a tratar con muchas solicitudes, puede usar un contenedor como NSDictionary en su lugar.

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

Y luego, en request:didLoad::

- (void)request:(FBRequest*)request didLoad:(id)result { 
    if (request == self.homeRequest) { 
     // ... 
    } else if (request == self.pictureRequest) { 
     // ... 
    } 
} 
+0

suena lógico, ¿cómo sería algo como esto parece? Thnx – Jos

+0

@Jos He actualizado la respuesta – albertamg

+0

Nice !!!! Thnx hombre, este es el camino a seguir! – Jos

Cuestiones relacionadas