FBRequestDelegate didReceiveResponse, как узнать, для какого запроса этот ответ

Я использую последнюю версию iphone skk для facebook, я делаю несколько запросов на facebook из разных мест в моем приложении. Для всех из них вызываются вызовы didReceiveResponse и didLoad, очень сложно найти метод didLoad, который для какого запроса этот ответ был таким, что мне интересно, может ли didReceiveResponse помочь, могу ли я получить некоторую информацию в этом методе, который скажет мне, что был запрос, на который я получил ответ.

4 Solutions collect form web for “FBRequestDelegate didReceiveResponse, как узнать, для какого запроса этот ответ”

То, как я это делаю, почти так же, как это делает Зиминджи, но в методе didLoad:

- (void)request:(FBRequest *)request didLoad:(id)result { NSLog(@"Facebook request %@ loaded", [request url]); //handling a user info request, for example if ([[request url] rangeOfString:@"/me"].location != NSNotFound) { /* handle user request in here */ } } 

Поэтому в основном вам нужно только проверить URL-адрес, на который вы отправили запрос, и вы также можете проверить параметры для этого запроса. Тогда вы можете отличить один от другого.

Все, что я делаю здесь, это проверка какого-либо уникального атрибута в ответе и связать его с запросом, я знаю, что это не лучший способ сделать это, но это то, что я нашел до сих пор, пожалуйста, дайте мне знать, если любой делает это по-другому

Вы можете попробовать что-то вроде следующего:

 - (void) request: (FBRequest *)request didReceiveResponse: (NSURLResponse *)response { NSInteger statusCode = [(NSHTTPURLResponse *)response statusCode]; if (statusCode == 200) { NSString *url = [[response URL] absoluteString]; if ([url rangeOfString: @"me/feed"].location != NSNotFound) { NSLog(@"Request Params: %@", [request params]); UIAlertView *alert = [[UIAlertView alloc] initWithTitle: @"Facebook" message: @"Message successfully posted on Facebook." delegate: nil cancelButtonTitle: @"OK" otherButtonTitles: nil]; [alert show]; [alert release]; } } } 

Если вы сохраните объект запроса в качестве свойства вашего делегата запроса при его создании, вы можете проверить, совпадает ли он с вызовами метода делегата. Например:

 - (void)queryForUserInfo { self.userInfoRequest = [facebook requestWithGraphPath:@"me" andDelegate:self]; } #pragma mark <FBRequestDelegate> - (void)request:(FBRequest *)request didLoad:(id)result { if (request == self.userInfoRequest) { [self handleUserInfoResult:result]; } } 
  • iOS: Как получить сборщик фотографий в Facebook
  • попросите друзей друзей вернуть пустые
  • Facebook iOS SDK 4 ошибка info.plist
  • проблема с Facebook iOS SDK v 3.1.1
  • Facebook iOS SDK - как определить, удалил ли пользователь приложение без авторизации каждый раз?
  • Приложения Facebook не могут сохранять изменения с пустым полем iPhone Store ID
  • Приложение должно запросить базовое разрешение на чтение во время установки. Только на родном?
  • Получение страны, штата, города от FacebookSDK для iOS
  • Файл facebookSDK 3.1.1 не найден
  • Facebook iOS SDK - приложение для Facebook падает на openActiveSessionWithReadPermissions. Мое приложение висит на входе
  • Swift Facebook SDK Выход из системы
  • Interesting Posts

    Как отображать субтитры в MPMoviePlayerController

    Можно ли проверить, имеет ли пользователь учетную запись twitter во встроенном твиттере приложения iOS 5?

    Вызов веб-службы в фоновом режиме – iOS

    UITabBarController – больше кнопки не отображается

    Как делиться или сохранять аудио после эффектов, например, изменение тона или скорости?

    Как проверить, установлено ли приложение с веб-страницы на iPhone?

    Установите файл .mobileconfig программно на iOS 7

    Имя initWithNibName UIViewController: причина этого дизайна?

    Приложение iphone разбилось при вызове метода popViewContrller

    Отладка через базу кода менеджера профилей Apple

    sendMessage не работает в обоих направлениях Apple Watch <-> iPhone в симуляторе

    Попытка прочитать существующую папку `/ private / tmp / CocoaPods / Lint / Pods /

    конфигурация

    В GCD все задачи в последовательной очереди гарантированы для запуска в одном потоке?

    Доступ к основным данным NSManagedObject после возобновления с фона приводит к сбою приложения

    PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.