title: Multiple sharedInstance called failed
body: <p>In my application i have called sharedinstance multiple time in multiple method deffinition ,
  Here my code,</p>
  
  <p>Method 1</p>
  
  <pre><code> -(void) showActionSheet:(id)sender forEvent:(UIEvent*)event
   {
    if(isQuantity==YES)
    {
      [[WebService sharedInstance] getQuantity:^(BOOL result)
       {
        if(result)
       {
        NSLog(@"success");
        NSManagedObjectContext *context = [[DataAccessLayer sharedInstance] managedObjectContext];
        Quantity = [context fetchObjectsForEntityName:NSStringFromClass([GetQuantity class]) withSortColumn:nil withSortDescending:TRUE withPredicate:nil];
               NSLog(@"array -&gt;%@",Quantity);
               isQuantity=NO;
           }
       }];
    }
  
   popoverController1 = [[TSPopoverController alloc]initWithContentViewController:tableViewController1];
   popoverController1.cornerRadius = 5;
   popoverController1.titleText = @"Quantity";
   popoverController1.popoverBaseColor = [UIColor blackColor];
   popoverController1.popoverGradient= NO;
  [popoverController1 showPopoverWithTouch:event];
  }
  </code></pre>
  
  <p>Method 2</p>
  
  <pre><code>-(void) showActionSheetw:(id)sender forEvent:(UIEvent*)events  
   {
  if(isSize==YES)
  {
      [[WebService sharedInstance] getDimension:^(BOOL result)
       {
           if(result){
                NSLog(@"success");
               NSManagedObjectContext *context = [[DataAccessLayer sharedInstance] managedObjectContext];
               dime = [context fetchObjectsForEntityName:NSStringFromClass([Getdimension class]) withSortColumn:nil withSortDescending:FALSE withPredicate:nil];
               NSLog(@"array -&gt;%@",dime);
  
  
           }
       }];
  }
  popoverController2 = [[TSPopoverController alloc] initWithContentViewController:tableViewController2];
  popoverController2.cornerRadius = 5;
  popoverController2.titleText = @"Size";
  popoverController2.popoverBaseColor = [UIColor blackColor];
  popoverController2.popoverGradient= NO;
  //    popoverController.arrowPosition = TSPopoverArrowPositionHorizontal;
  [popoverController2 showPopoverWithTouch:events];
  }
  </code></pre>
  
  <p>EDIT </p>
  
  <pre><code> - (void) getDimension:(void (^)(BOOL))handler
  {
  JBContainedURLConnection *connection = [[JBContainedURLConnection alloc]init ];
  
  [connection initWithGETUrl:IP methodName:GETDIMENSION param:nil andCompletionHandler:^(JBContainedURLConnection *connection, NSError *error, NSString *urlString, NSDictionary *userInfo, NSData *response)
   {
       if(error)
       {
           NSLog(@"Error: %@", error);
           handler(FALSE);
       }
       else
       {
           if(response == nil)
               handler(FALSE);
           else
           {
               NSManagedObjectContext *context = [[DataAccessLayer sharedInstance] managedObjectContext];
               NSArray *existingResults = [context fetchObjectsForEntityName:NSStringFromClass([Getdimension class]) withSortColumn:nil withSortDescending:FALSE withPredicate:nil];
               for (NSManagedObject *obj in existingResults)
                   [context deleteObject:obj];
               [[DataAccessLayer sharedInstance] saveContext];
               id responseData = [self DictionaryFromResponse:response];
               if(responseData == nil)
                   handler(FALSE);
  
               else
               {
                   NSLog(@"Dimension Response: %@", [[NSString alloc] initWithData:response encoding:NSUTF8StringEncoding]);
                   NSArray *data=[responseData objectForKey:@"GetDimensionResult"];
                    NSLog(@"GetDimensionResult :%@",data);
                   for( NSDictionary *dict in data){
                       Getdimension *userDetails = [Getdimension newObject];
                       [userDetails fillFromDictionary:dict];
  
                   }
                   [[DataAccessLayer sharedInstance] saveContext];
                   handler(TRUE);
               }
           }         }
   }];
  }
  
  
   - (void) getQuantity:(void (^)(BOOL))handler
   {
   JBContainedURLConnection *connection = [[JBContainedURLConnection alloc]init ];
  
  [connection initWithGETUrl:IP methodName:GETQUANTITY param:nil andCompletionHandler:^(JBContainedURLConnection *connection, NSError *error, NSString *urlString, NSDictionary *userInfo, NSData *response)
   {
       if(error)
       {
           NSLog(@"Error: %@", error);
           handler(FALSE);
       }
       else
       {
           if(response == nil)
               handler(FALSE);
           else
           {
               NSManagedObjectContext *context = [[DataAccessLayer sharedInstance] managedObjectContext];
               NSArray *existingResults = [context fetchObjectsForEntityName:NSStringFromClass([GetQuantity class]) withSortColumn:nil withSortDescending:FALSE withPredicate:nil];
               for (NSManagedObject *obj in existingResults)
                   [context deleteObject:obj];
               [[DataAccessLayer sharedInstance] saveContext];
               id responseData = [self DictionaryFromResponse:response];
               if(responseData == nil)
                   handler(FALSE);
  
               else
               {
                   NSLog(@"GetQuantityResult Response: %@", [[NSString alloc] initWithData:response encoding:NSUTF8StringEncoding]);
                   NSArray *data=[responseData objectForKey:@"GetQuantityResult"];
                  // NSLog(@"GetDimensionResult :%@",data);
                   for( NSDictionary *dict in data){
                       GetQuantity *userDetails = [GetQuantity newObject];
                       [userDetails fillFromDictionary:dict];
  
                   }
                   [[DataAccessLayer sharedInstance] saveContext];
                   handler(TRUE);
               }
           }  }
   }];
   }
  </code></pre>
  
  <p>Instance method</p>
  
  <pre><code> + (id)sharedInstance
  {
  @synchronized(self)
  {
      if (manager == nil)
          manager = [[self alloc] init];
  }
  return manager;
  }
  
  
  -(id)init
  {
  if(self = [super init])
  {
  }
  return self;
  }
  
  -(NSString *)NSStringFromDictionaryUsingJSON:(id)dictionary
  {
  SBJsonWriter *writer = [[SBJsonWriter alloc]init];
  return [writer stringWithObject:dictionary];
   }
  
   -(id)DictionaryFromResponse:(NSData *)response
   {
  NSString *responseBody =  [[NSString alloc] initWithData:response encoding:NSASCIIStringEncoding];
  SBJsonParser *parser = [[SBJsonParser alloc]init];
  return [parser objectWithString:responseBody  error:nil];
  }
  </code></pre>
  
  <p>sharedInstance only works one time,ie,. if i call any of the method first its worked,if calls other method second time app gets crashed.Can any one please help me to sort it out</p>