Обновление AFNetworking 2.0 для существующего проекта

Недавно я обновил свой проект AFNetworking до версии 2.0, и оказалось, что файл AFHTTPClient отсутствует.

Я прочитал следующее: https://github.com/AFNetworking/AFNetworking/wiki/AFNetworking-2.0-Migration-Guide

Похоже, теперь мне придется использовать 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];
        }];

person kratos    schedule 17.02.2014    source источник
comment
Ваше обновление выглядит правильно; это работает? Если это так, вы должны опубликовать его как ответ на свой вопрос.   -  person Aaron Brager    schedule 17.02.2014