我正在尝试使用MGTwitterEngine
收藏推文我正在使用“Tweet”我制作的一个子类来处理用户id,名称等。所以我把它放到一个字符串中,然后转换为一个可以用来处理fav的行为的数字。推文
答案 0 :(得分:2)
这是一篇非常古老的帖子,并不确定是否有人在寻找它,但是在一些“昙花一现”之后,我设法做到了这一点。这是你要做的:
实施至少以下方法以获取状态
(void)statusesReceived:(NSArray *)statuses forRequest:(NSString *)connectionIdentifier
statuses数组在第一个位置有一个NSDictionary。按如下方式提取
NSDictionary *status = (NSDictionary *)[statuses objectAtIndex:0];
从词典“source_api_request_type”和“id”中提取两个键。将它们保存为NSString值。
更新MGTwitterEngine.h和MGTwitterEngine.m以更改markUpdate方法的方法签名,以将updateID作为NSString而不是unsigned int发送。更改后它将类似于以下内容:
(NSString *)markUpdate:(NSString *)updateID asFavorite:(BOOL)flag; // favorites/create, favorites/destroy
将markUpdate方法中的%u
更改为%@
,以便正确应用输入参数更改。 (您必须在方法的两个位置进行更改)
在您的代码中,您将使用与以下类似的内容发送推文。
[twitterEngine sendUpdate: @"My Tweet Text"];
一旦成功发布推文,这将引发statusRecieved事件。在前面提到的statusRecieved事件中,我们需要两个值tweetId和请求类型。
使用以下代码检查请求Type == 5,如果是调用markUpdate方法,则将tweet Id和boolean值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];
}
}
}
“请求类型”5的秘诀是新的推文帖子的“api请求ID”为5,我们希望只将新推文标记为收藏。 (当您在推文被标记为收藏夹后观看ID时,状态为26)。
随着iOS 5迫在眉睫,MGTwitterEngine将很快被弃用。但在我自己的项目中想出这个很有趣。希望有人觉得它很有用。