2009-07-25 11 views
0

J'ai téléchargé un fichier .jpg sur Internet avec ce code:Comment transformer un NSMutableData en une image dans une vue?

NSURLRequest *theRequest=[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://cvcl.mit.edu/hybrid/cat2.jpg"]]; 
NSURLConnection *theConnection=[[NSURLConnection alloc] initWithRequest:theRequest delegate:self]; 
receivedData=[[NSMutableData data] retain]; // etc etc 

Tout fonctionne très bien. Je ne sais pas comment gérer les données. Dire que j'ai créé une vue d'image dans IB, comment pourrais-je faire pour afficher l'image? Voici le dernier bit:

- (void)connectionDidFinishLoading:(NSURLConnection *)connection 
{ 
    // ******do something with the data*********...but how 
    NSLog(@"Succeeded! Received %d bytes of data",[receivedData length]); 

    // release the connection, and the data object 
    [connection release]; 
    [receivedData release]; 
} 

Répondre

1

UIImage a une méthode + imageWithData:

+0

Et si vous en avez besoin sur le Mac, utilisez la méthode initWithData: de NSImage. –

+0

oui .. whoops, était-ce une question Mac? J'ai programmé trop longtemps :) – mjhoy

+0

Il n'y a aucune indication s'il s'agit d'une question de Mac ou d'iPhone. –

2

En supposant que votre NSImageView est joint en IBOutlet appelé imageView vous devriez être en mesure d'initialiser une image en utilisant les données reçues et puis définissez l'image vue pour afficher l'image.

NSImage *image = [[NSImage alloc] initWithData:receivedData]; 
[imageView setImage:image]; 
[image release]; 
Questions connexes