通过TWRequest获取推文以获取桌面视图

时间:2012-06-25 18:58:50

标签: uitableview tableview twrequest

好吧,我对此很陌生,并且一直在努力解决你们可能认为非常容易的事情。我已经拖网高低,无法找到关于如何做到这一点的好教程或演练。基本上,我使用下面的代码来获取推文,我只想要推文的“文本”部分。如何从NSDictionary中提取它以便在tableview中使用“text”键?我尝试了[dict objectForKey:@"text"]但它不起作用 - 'dict'似乎不包含'text'属性。在此先感谢您的帮助。

// Do a simple search, using the Twitter API
TWRequest *request = [[TWRequest alloc] initWithURL:[NSURL URLWithString:
   @"http://search.twitter.com/search.json?q=iOS%205&rpp=5&with_twitter_user_id=true&result_type=recent"] 
   parameters:nil requestMethod:TWRequestMethodGET];

// Notice this is a block, it is the handler to process the response
[request performRequestWithHandler:^(NSData *responseData, NSHTTPURLResponse *urlResponse, NSError *error)
{
  if ([urlResponse statusCode] == 200) 
  {
    // The response from Twitter is in JSON format
    // Move the response into a dictionary and print
    NSError *error;        
    NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:responseData options:0 error:&error];
    NSLog(@"Twitter response: %@", dict);                           
  }
  else
    NSLog(@"Twitter error, HTTP response: %i", [urlResponse statusCode]);
}];

1 个答案:

答案 0 :(得分:2)

是的,有一个objectForKey @“text”,但它是一个数组,这意味着每个条目(推文)都有文本(以及其他几个属性)。因此,我们要遍历推文,以便为每条推文提供文本。

在你的.h文件中

         NSMutableArray *twitterText;

在你的.m文件中

在viewdidload中的某处执行此操作

         twitterText = [[NSMutableArray alloc] init];

现在我们可以循环搜索结果了。将此代码粘贴到您的NSLog(@“Twitter响应:%@”,dict);

          NSArray *results = [dict objectForKey@"results"];

         //Loop through the results

         for (NSDictionary *tweet in results)
         {
             // Get the tweet
             NSString *twittext = [tweet objectForKey:@"text"];

             // Save the tweet to the twitterText array
             [twitterText addObject:(twittext)];

对于tableView中的单元格

         cell.textLabel.text = [twitterText objectAtIndex:indexPath.row];

我认为应该有效。