Vinod Jadhav
Vinod Jadhav

Reputation: 1065

Avoid multiple web service call in ios

I am inserting data to server database from my app. on submit button I am calling inserdata web services. My data inserted in database. but I have one problem, before I get first result back when I tap on submit button again then same record inserted multiple times in database.

Please help how can I avoid this. (also by mistake I have tapped multiple times on submit button then same record inserted multiple time).

Upvotes: 3

Views: 735

Answers (3)

Avijit Nagare
Avijit Nagare

Reputation: 8782

Try this.

 - (IBAction)doneCollectionSaveAction:(id)sender {                
   if([activity isAnimating]==YES){
               [ALToastView toastInView:[UIApplication sharedApplication].keyWindow withText:@"Please wait..."];        
          }else{                
            [self addToCollection];
          }
   }

or


 - (IBAction)doneCollectionSaveAction:(UIButton *)sender {
        if (sender.selected==YES) {
            //do nothing
            [ALToastView toastInView:[UIApplication sharedApplication].keyWindow withText:@"Please wait..."];
        }else{  
                //send data to server
                self.buttonDoneOutlet.selected=YES;
                [self addToCollection];
        }
    }
    //and self.buttonDoneOutlet.selected=NO; //failure network call 

Upvotes: 0

Meet Doshi
Meet Doshi

Reputation: 4259

When user pressed submit button, show progress hud or an activity Indicator View (loading overlay). This will let user know that some processing is going on and make them not trigger any other action.

Also set synchronous property to that object from which you are calling this WebService. (When you execute something synchronously, you wait for it to finish before moving on to another task. When you execute something asynchronously, you can move on to another task before it finishes.)

And when you got response, clear all data from your form or your app. Because If data is cleared, then user can't insert same record into Database.

So, No need to disable that submit button.

Upvotes: 0

Divyanshu Sharma
Divyanshu Sharma

Reputation: 559

when web service triggers first time.... set button.selected = yes and in function check if button isSelected then not perform action. Use this bool value to distinguish between both conditions.

Upvotes: 1

Related Questions