Objectiveflickr установить свойства, более одного вызова - PullRequest
1 голос
/ 22 марта 2010

Я не могу установить мета и установить местоположение в ObjectiveFlickr

если я делаю только один, он работает нормально, но если я делаю оба, он делает только первый

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

}

}

1 Ответ

1 голос
/ 31 августа 2010

Вам необходимо определить новый шаг (например: NSString * kSetImageGeoInfoStep = @ "kSetImageGeoInfoStep") и установить для sessionInfo этот новый шаг, добавив дополнительное условие в блок if / else if для размещения обновления геоинформации. Код должен выглядеть примерно так (заявление об отказе - не скомпилировано, поэтому возможны синтаксические ошибки:

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;       

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...