Я пытаюсь использовать NSScanner для фильтрации моего ответа из AFHTTPRequestOperation. Проблема в том, что я не могу вернуть строку из AFHTTPRequestOperation в моем методе NSString. У кого-нибудь есть идеи?AFNetworking NSString Response
-(NSString*)queryResponseID {
//Find ID from https request
NSLog(@"Finding Location ID");
NSString *[email protected]"";
NSString *clientID = @"myclientID";
if (!clientID) {
NSLog(@"Need Clinet ID");
}
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:[NSString stringWithFormat:@"https://api.domain.com/client_id=%@",clientID]]];
AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc]
initWithRequest:request];
operation.responseSerializer = [AFJSONResponseSerializer serializer];
[operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) {
NSLog(@"%@", responseObject);
} failure:nil];
[operation start];
queryResponseID = operation.responseString;
return queryResponseID;
}
Я пробовал это, и я получаю следующую ошибку: несовместимые типы указателей блоков, отправляющие 'NSString * (^) (AFHTTPRequestOperation * __ strong, __strong id)' в параметр типа 'void (^) (AFHTTPRequestOperation * __ strong, __strong id) ' –
Вы не можете использовать возврат, вообще, блок успеха обрабатывает данные/вызывает метод для его обработки. Возвращение происходит немедленно (синхронно), и это невозможно в этой ситуации. – Wain
Итак, как мне получить те же данные, которые печатаются в NSLog для NSString? –