2014-02-17 4 views
2

AFNetworking 2.0으로 프로젝트를 최근에 업데이트했으며 AFHTTPClient 파일이없는 것 같습니다. https://github.com/AFNetworking/AFNetworking/wiki/AFNetworking-2.0-Migration-Guide기존 프로젝트에서 AFNetworking 2.0 업데이트

내가 지금 AFHTTPRequestOperation을 사용해야합니다 나타납니다

나는이 (가)에서 다음 읽어?

그렇다면 다음 코드를 새 AFHTTPRequestOperation으로 어떻게 수정할 수 있습니까?

NSURL *url = [NSURL URLWithString:WEB_SERVICE_BASE_URL]; 

     AFHTTPClient *client = [[AFHTTPClient alloc] initWithBaseURL:url]; 
     [client registerHTTPOperationClass:[AFJSONRequestOperation class]]; 
     [client setDefaultHeader:@"Accept" value:@"application/json"]; 
     [client postPath:LOGIN_PATH parameters:[NSDictionary dictionaryWithObjectsAndKeys:self.userNameOrEmail.text ,@"userNameOrEmail",self.password.text,@"password", nil] 
       success:^(AFHTTPRequestOperation *operation, id responseObject) 
     { 
      bool success = [[responseObject valueForKeyPath:@"success"] boolValue]; 
      NSString *displayMessage = [responseObject valueForKeyPath:@"displaymessage"]; 

      if (success) { 
       NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 
       [defaults setObject:self.userNameOrEmail.text forKey:@"userNameOrEmail"]; 
       [defaults setObject:self.password.text forKey:@"password"]; 

    //    [Flurry setUserID:self.userNameOrEmail.text]; 
       [SVProgressHUD showSuccessWithStatus:displayMessage]; 
       [self dismissViewControllerAnimated:YES completion:nil]; 
      } else { 
       [SVProgressHUD showErrorWithStatus:displayMessage]; 
      }  
     } 
       failure:^(AFHTTPRequestOperation *operation, NSError *error) 
     { 

      NSLog(@"error is: %@", error); 

      [SVProgressHUD showErrorWithStatus:MSG_SERVER_ERROR]; 
     }]; 

업데이트 : 나는 다음과 같은 한 :

AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; 
     NSDictionary *parameters = [NSDictionary dictionaryWithObjectsAndKeys:self.userName.text ,@"user", self.email.text, @"email",self.password.text,@"password", nil]; 
     [manager POST:WEB_SERVICE_BASE_URL parameters:parameters success:^(AFHTTPRequestOperation *operation, id responseObject) { 
      bool success = [[responseObject valueForKeyPath:@"success"] boolValue]? @"YES" : @"NO"; 

      NSString *displayMessage = [responseObject valueForKeyPath:@"displaymessage"]; 

      if (success) { 
       [SVProgressHUD showSuccessWithStatus:displayMessage]; 
       [self.navigationController popToRootViewControllerAnimated:YES]; 
      } else { 
       [SVProgressHUD showErrorWithStatus:displayMessage]; 
      } 
     } failure:^(AFHTTPRequestOperation *operation, NSError *error) { 
      [SVProgressHUD showErrorWithStatus:MSG_SERVER_ERROR]; 
     }]; 
+0

당신의 업데이트가 올바른 모습을; 작동 되나요? 그렇다면 자신의 질문에 대한 답변으로 게시해야합니다. –

답변

1
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; 
     NSDictionary *parameters = [NSDictionary dictionaryWithObjectsAndKeys:self.userName.text ,@"user", self.email.text, @"email",self.password.text,@"password", nil]; 
     [manager POST:WEB_SERVICE_BASE_URL parameters:parameters success:^(AFHTTPRequestOperation *operation, id responseObject) { 
      bool success = [[responseObject valueForKeyPath:@"success"] boolValue]? @"YES" : @"NO"; 

      NSString *displayMessage = [responseObject valueForKeyPath:@"displaymessage"]; 

      if (success) { 
       [SVProgressHUD showSuccessWithStatus:displayMessage]; 
       [self.navigationController popToRootViewControllerAnimated:YES]; 
      } else { 
       [SVProgressHUD showErrorWithStatus:displayMessage]; 
      } 
     } failure:^(AFHTTPRequestOperation *operation, NSError *error) { 
      [SVProgressHUD showErrorWithStatus:MSG_SERVER_ERROR]; 
     }];