title: Multi threading in iOS objective C
body: <p>I have a doubt regarding multi threading in iOS objective C. I have never worked on threads.. 
  In my app, I have a couple of tasks that need to run only in background so that the UI doesn't get freezed. 
  Following is the code snippet,</p>
  
  <pre><code>dispatch_async(dispatch_get_global_queue( DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^(void){
              [self someFunctionCallinWebservice];
              dispatch_async(dispatch_get_main_queue(), ^(void){
                  //UI Updates
              });
          });
  </code></pre>
  
  <p>In the above code, function : someFunctionCallinWebservice calls webservice for which I am using AFNetworking library. In the webservice if it is a success then I am saving the data locally. I am calling a function in success block to save the data sent from server like below,</p>
  
  <pre><code>[manager POST:url parameters:parameter success:^(AFHTTPRequestOperation *operation, id responseObject){
  [self functionToSaveData:someArray];
  }
  </code></pre>
  
  <p>Here the someFunctionCallinWebservice is running in background but <code>[self functionToSaveData:someArray]</code> runs in foreground. Should I have this functionToSaveData also in background thread? </p>
  
  <p>I mean if I am calling a function in background then all related functionalities of that function like, calling server, getting the data and saving it must also fall in background thread right? Why should I create another thread again?</p>
  
  <p>Please help...</p>