2010-03-22 6 views
1

Je ne peux pas de définir Meta et définir l'emplacement dans ObjectiveFlickrpropriétés définies Objectiveflickr, plus d'un appel

si je fais une seule, il fonctionne très bien, mais si je le fais à la fois il ne fait que le premier

- (void)flickrAPIRequest:(OFFlickrAPIRequest *)inRequest didCompleteWithResponse:(NSDictionary *)inResponseDictionary 

{ NSLog (@ "% s% @% @", PRETTY_FUNCTION, inRequest.sessionInfo, inResponseDictionary);

if (inRequest.sessionInfo == kUploadImageStep) { 
    snapPictureDescriptionLabel.text = @"Setting properties..."; 


    NSLog(@"%@", inResponseDictionary); 
    NSString *photoID = [[inResponseDictionary valueForKeyPath:@"photoid"] textContent]; 

    flickrRequest.sessionInfo = kSetImagePropertiesStep; 
    [flickrRequest callAPIMethodWithPOST:@"flickr.photos.setMeta" arguments:[NSDictionary dictionaryWithObjectsAndKeys:photoID, @"photo_id", @"Snap and Run", @"title", @"Uploaded from my iPhone/iPod Touch", @"description", nil]];   
    flickrRequest.sessionInfo = kSetImagePropertiesStep; 
    [flickrRequest callAPIMethodWithPOST:@"flickr.photos.geo.setLocation" arguments:[NSDictionary dictionaryWithObjectsAndKeys:photoID, @"photo_id",@"34" ,@"lat",@"-118",@"lon", nil]];       



} 
else if (inRequest.sessionInfo == kSetImagePropertiesStep) { 
    [self updateUserInterface:nil];  
    snapPictureDescriptionLabel.text = @"Done"; 

    [UIApplication sharedApplication].idleTimerDisabled = NO;  

} 

}

Répondre

1

Vous devez définir une nouvelle étape (par exemple: NSString * kSetImageGeoInfoStep = @ "kSetImageGeoInfoStep") et définir le sessionInfo à cette nouvelle étape en ajoutant une condition supplémentaire dans le if/else si le bloc doit contenir la mise à jour de l'info géographique. Le code devrait ressembler à ceci (avertissement - pas compilé donc l'erreur de syntaxe est possible:

if (inRequest.sessionInfo == kUploadImageStep) { 
    snapPictureDescriptionLabel.text = @"Setting properties..."; 


    NSLog(@"%@", inResponseDictionary); 
    NSString *photoID = [[inResponseDictionary valueForKeyPath:@"photoid"] textContent]; 
    [photoID retain]; 

    flickrRequest.sessionInfo = kSetImagePropertiesStep; 
    [flickrRequest callAPIMethodWithPOST:@"flickr.photos.setMeta" arguments:[NSDictionary dictionaryWithObjectsAndKeys:photoID, @"photo_id", @"Snap and Run", @"title", @"Uploaded from my iPhone/iPod Touch", @"description", nil]];    

} 
else if (inRequest.sessionInfo == KSetImagePropertiesStep) { 
    snapPictureDescriptionLabel.text = @"Setting Geo info..."; 
    flickrRequest.sessionInfo = kSetImageGeoInfoStep; 
    [flickrRequest callAPIMethodWithPOST:@"flickr.photos.geo.setLocation" arguments:[NSDictionary dictionaryWithObjectsAndKeys:photoID, @"photo_id",@"34" ,@"lat",@"-118",@"lon", nil]];       
} 
else if (inRequest.sessionInfo == kSetImageGeoInfoStep) { 
    [self updateUserInterface:nil];  
    snapPictureDescriptionLabel.text = @"Done"; 
    [photoID release]; 
    photoID = nil; 

    [UIApplication sharedApplication].idleTimerDisabled = NO;  

}