【问题标题】:MGTwitterEngine - Fav a TweetMGTwitterEngine - 最喜欢的推文
【发布时间】:2011-07-08 11:31:20
【问题描述】:

我正在尝试使用 MGTwitterEngine 收藏一条推文

我正在使用“Tweet”是我创建的一个子类,它处理用户 ID、名称等。所以我将它放入一个字符串中,然后将其转换为一个可用于处理 fav 行为的数字。一条推文

我的代码:http://pastie.org/1467311

【问题讨论】:

  • 如果这是一个问题,我希望句尾有一个问号 (?)。

标签: cocoa mgtwitterengine


【解决方案1】:

这是一个非常古老的帖子,不确定是否有人在寻找它,但我在经历了一些“碰巧”之后今天设法做到了这一点。这是你必须做的:

  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. 将 markUpdate 方法中的 %u 更改为 %@,以便正确应用输入参数更改。 (您必须在方法中的两个地方进行更改)

  7. 回到您的代码中,您将使用类似于以下内容的内容来发送推文。

    [twitterEngine sendUpdate: @"My Tweet Text"]; 
    
  8. 一旦成功发布推文,这将引发 statusRecieved 事件。在前面提到的 statusRecieved 事件中,我们需要两个值 tweetId 和请求类型。

  9. 使用以下代码检查请求类型是否 == 5,如果是调用 markUpdate 方法,则将推文 ID 和布尔值 YES 传递给收藏(或 NO 取消收藏)推文。您的代码将如下所示:

    (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 的秘诀在于,一条新推文发布的“api 请求 ID”为 5,我们只想将新推文标记为收藏。 (当您在推文被标记为收藏后观看 id 时,状态为 26)。

随着 iOS 5 的临近,MGTwitterEngine 很快就会被弃用。但在我自己的项目中解决这个问题对我来说很有趣。希望有人觉得它有用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-10-01
    • 2019-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-14
    • 2019-06-11
    • 1970-01-01
    相关资源
    最近更新 更多