2010-03-22 5 views
1

나는 그것을 잘 작동 하나를 할 경우 ObjectiveFlickrObjectiveflickr의 속성 설정, 하나 개 이상의 통화

에 메타 설정하고 위치를 설정 캔트하지만 내가 할 경우 모두 만 첫 번째

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

{ NSLog (@ "% s % @ % @", PRETTY_FUNCTION, inRequest.sessionInfo, inResponseDictionary); 은 if/다른 사람에 추가 조건을 추가하여이 새로운 단계에 sessionInfo을 설정하고 (* kSetImageGeoInfoStep = @ "kSetImageGeoInfoStep을"는 NSString 예를 들어)

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

당신은 새로운 단계를 정의해야 지리 정보 업데이트를 수용 할 블록 인 경우. 코드는 다음과 유사해야합니다 (면책 조항 - 컴파일되지 않아서 구문 오류가 가능합니다.)

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;  

} 
관련 문제