0

我在进行 Twitter 搜索,需要获取每条推文的确切位置以绘制在地图上。我已经设置了核心位置,我的“获取推文”代码如下。

我目前正在循环获取文本组件,但我不确定如何获取推文随附的位置组件。您将在下面看到几行我已添加到循环中以尝试提取位置的行,但是它出现空白/空。

• 我是否将 NSString *twitlocation 定位在循环中的正确位置?这个收集的位置会与每条推文的正确文本结合起来吗?我从单独的数组中调用它吗,即当我运行 objectAtIndex:0 时,来自推文 1 的文本和来自推文 1 的位置将结合起来?• 为什么twitterLocation 的日志为空?• 将位置放在NSString 中以添加到数组中是正确的还是应该是不同的对象?

仅供参考

  • 所有对象都已在 .h 文件中声明 - twitText 工作正常,我可以获取每条推文的推文文本 - twitterLocation 是一个 NSMutableArray

谢谢!

- (void)fetchTweets
        {
            AppDelegate *delegate = (AppDelegate*)[[UIApplication sharedApplication]delegate];


            //NSLog(@"phrase carried over is %@", delegate.a);

            // Do a simple search, using the Twitter API
            TWRequest *request = [[TWRequest alloc] initWithURL:[NSURL URLWithString:
                                                                 [NSString stringWithFormat:@"http://search.twitter.com/search.json?q=%@", delegate.a]] 
                                                     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);

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


                     //Loop through the results


                     for (NSDictionary *tweet in results) {
                         // Get the tweet
                         NSString *twittext = [tweet objectForKey:@"text"];
                         //looping through to also get the location of each tweet
                         NSString *twitlocation = [tweet objectForKey:@"location"];

                         // Save the tweet to the twitterText array
                         [_twitterText addObject:twittext];
                         //adding the twitlocation to the location array
                        [twitterLocation addObject:twitlocation];
                     }

                     dispatch_async(dispatch_get_main_queue(), ^{

        [self.tableView reloadData];

                     });


                      NSLog(@"MY ************************LOCATION************** %@", twitterLocation);


                 }

                 else
                     NSLog(@"Twitter error, HTTP response: %i", [urlResponse statusCode]);
             }];



        }
4

0 回答 0