Я использую AFNetworking 2.0 для сетевого подключения моего приложения, я реализовал метод проверки входа пользователя в систему.
-(NSString *) loginWith : (NSString *) email andPassword :(NSString *) password
{
__block NSString * result ;
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
NSDictionary *params = @{@"email": email, @"password": password};
manager.responseSerializer = [AFJSONResponseSerializer serializer];
[manager POST:[kROOT_URL stringByAppendingString:@"auth/"] parameters:params success:^(AFHTTPRequestOperation *operation, id responseObject)
{
NSLog(@"JSON: %@", (NSDictionary*)responseObject);
[[NSUserDefaults standardUserDefaults] setObject:responseObject forKey:USER_KEY];
[[NSUserDefaults standardUserDefaults] synchronize];
result = [responseObject objectForKey:@"id"];
NSLog(@"result :: %@",result);
} failure:^(AFHTTPRequestOperation *operation, NSError *error)
{
NSLog(@"Error: %@", error);
result = nil;
}];
return result;
}
и из другого контроллера представления я вызываю этот метод:
NSString * result = [self.user loginWith:emailCell.textField.text andPassword:passCell.textField.text];
NSLog(@"Result: %@",result);
проблема в том, что я получаю "null" в качестве объекта результата. Это связано с тем, что при выполнении NSlog сетевой процесс выполнялся в фоновом потоке, поэтому, как я исправляю реализацию, чтобы потом я мог получить правильный результат момент, после извлечения
Спасибо