2011-01-16 3 views
2

Я пытаю любимец твит с помощью MGTwitterEngineMGTwitterEngine - Fav чирикать

Я использую «твит» суб-класс, который я сделал, который обрабатывает идентификаторы пользователей, имена и т.д. Так что я положил, что в строку который затем преобразуется в число, которое может использоваться для обработки действия fav. чириканье

Мой код: http://pastie.org/1467311

+0

Если бы это был вопрос, я ожидал бы знак вопроса ('?') В конце предложения. – Gabe

ответ

2

Это очень старый пост и не уверен, что если кто-то смотрит на него, но мне удалось это сделать точную вещь сегодня после того, как некоторые «бей-мисс». Вот то, что вы должны сделать:

  1. Объявите ваш класс реализует MGTwitterEngineDelegate
  2. Выполнить по крайней мере следующий метод, чтобы получить статус

    (void)statusesReceived:(NSArray *)statuses forRequest:(NSString *)connectionIdentifier 
    
  3. Массив Статусы имеет NSDictionary на первая позиция. Извлечь его следующим образом

    NSDictionary *status = (NSDictionary *)[statuses objectAtIndex:0]; 
    
  4. экстракт двух ключей от «source_api_request_type» Словарь и «ID». Сохраните оба значения как значения NSString.

  5. Обновите MGTwitterEngine.h и MGTwitterEngine.m, чтобы изменить подпись метода метода markUpdate для отправки updateID как NSString вместо unsigned int. Он будет выглядеть следующим после изменения:

    (NSString *)markUpdate:(NSString *)updateID asFavorite:(BOOL)flag; // favorites/create, favorites/destroy 
    
  6. Изменение %u в методе markUpdate в %@ так, что изменение входного параметра применяется правильно. (Вы должны внести изменения в два места в методе)

  7. В вашем коде для отправки твита вы будете использовать что-то похожее на следующее.

    [twitterEngine sendUpdate: @"My Tweet Text"]; 
    
  8. Это приведет к появлению события statusRecieved после успешного завершения твита. В событии statusRecieved, как упоминалось ранее, нам нужны два значения tweetId и тип запроса.

  9. Используйте следующий код, чтобы проверить, является ли запрос Type == 5, и если он вызывает метод markUpdate, передавая значения твиту Id и логическое значение YES в избранное (или NO to un-favorite) твит , Ваш код будет выглядеть следующим образом:

    (void)statusesReceived:(NSArray *)statuses forRequest:(NSString *)connectionIdentifier 
    { 
        if([statuses count] > 0) 
        { 
         NSDictionary *status = (NSDictionary *)[statuses objectAtIndex:0]; 
         NSString *stringId = (NSString *)[status objectForKey:@"id"]; 
         NSNumber *requestType = (NSNumber *)[status objectForKey:@"source_api_request_type"]; 
         NSLog(@"Tweet ID String - %@ and Request Type: %@.", stringId, requestType); 
         if ([requestType isEqualToNumber: [NSNumber numberWithInt: 5]]) 
         { 
          [twitterEngine markUpdate: stringId asFavorite:YES]; 
         } 
        } 
    } 
    
  10. Секретный соус «типа запроса» 5 является то, что новый твит проводка имеет «запрос апи идентификатор» из 5, и мы хотим хотим отметить новые твиты только любимца. (Когда вы смотрите идентификатор после того, как твит отмечен как избранный, он будет иметь статус 26).

С iOS 5 надвигающейся MGTwitterEngine скоро будет устаревшим. Но мне было интересно понять это в моем собственном проекте. Надеюсь, кто-то сочтет это полезным.

Смежные вопросы