我在进行 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]);
}];
}