在IOS中完成图像发布方法后如何调用文本发布方法

在IOS中完成图像发布方法后如何调用文本发布方法,ios,objective-c,nsoperationqueue,dispatch,Ios,Objective C,Nsoperationqueue,Dispatch,我使用下面的代码调用图像发布第一,然后在图像发布方法完成后文本发布 -(IBAction)btnChooseClecked:(id)sender { NSOperationQueue *queue = [NSOperationQueue new]; queue.maxConcurrentOperationCount = 1; [queue addOperationWithBlock:^{

我使用下面的代码调用图像发布第一,然后在图像发布方法完成后文本发布

-(IBAction)btnChooseClecked:(id)sender
{

                NSOperationQueue *queue = [NSOperationQueue new];

                queue.maxConcurrentOperationCount = 1;

                [queue  addOperationWithBlock:^{
                    [self sendImage];
                }];

                [queue  addOperationWithBlock:^{
                    [NSThread sleepForTimeInterval:1.0];//2.0
                    [self sendText];
                }];

    ///(OR) i used below code also

    dispatch_async(dispatch_get_main_queue(), ^{


                [self sendImage]; 

    // inside sendImage method I am calling sendText as [self performSelector:@selector(sendText) withObject:nil afterDelay:0.2];


            })

    }

-(void)sendImage

 {
        NSData *imageData = UIImageJPEGRepresentation([appDelegate scaleAndRotateImage:imageSelected.image], 0.0);

    [appDelegate.hub invoke:@"Send" withArgs:@[([imageData respondsToSelector:@selector(base64EncodedStringWithOptions:)] ? [imageData base64EncodedStringWithOptions:kNilOptions] : [imageData base64Encoding])]];

        [self performSelector:@selector(sendText) withObject:nil afterDelay:0.5];
 }
但有时它可以正常工作,但有时会先发布文本而不是图像。完成first..后不会调用委托方法,因为我们使用了不同的API来执行post方法。 请提出我哪里出了问题的任何想法上述的任何替代方案


提前感谢。

使用Objective-C的块概念。它肯定会随您所需的输出而来。我已经使用了如上所述的使用dispatch的块概念@Arpit Kumar Kulshrest您使用的方式不是相互依赖的,我的意思是说,当sendImage使用completionhandler完成时,然后调用sendText。不是你使用的方式你考虑过使用像AFNetworking这样的库吗?使使用这些库变得相当容易。如果您决定使用AFNetworking,您可能会在请求调用的成功块中调用sendText函数。您能否显示[self sendImage]的代码。[self sendImage]的响应是什么?