【问题标题】:Objectiveflickr set properties, more than one callObjectiveflickr设置属性,不止一次调用
【发布时间】:2010-03-22 03:06:35
【问题描述】:

我无法在 ObjectiveFlickr 中设置 Meta 和设置位置

如果我只做一个,它可以正常工作,但如果我两个都做,它只会做第一个

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

}

}

【问题讨论】:

    标签: iphone flickr


    【解决方案1】:

    您需要定义一个新步骤(例如:NSString *kSetImageGeoInfoStep = @"kSetImageGeoInfoStep")并通过在 if/else if 块中添加一个附加条件来将 sessionInfo 设置为这个新步骤以适应地理信息更新。代码应如下所示(免责声明 - 未编译,因此可能出现语法错误:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多