我正在使用MapKit,我正在尝试根据用户当前位置检索附近位置的列表,之后,我试图在TableView中显示它们。但是,使用iOS模拟器时,不会显示任何地方。我去了模拟器 - > debug-> location-> Apple所以不应该出现与该位置相关的结果?我糊涂了。这是我的代码:
- (void)viewDidLoad
{
[super viewDidLoad];
//[self CurrentLocationIdentifier];
[self performSearch];
_m= [MKMapItem mapItemForCurrentLocation];
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
#pragma mark - Table view data source
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
// Return the number of sections.
return 1;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
// Return the number of rows in the section.
return _places.count;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"placeCell";
PlaceTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
long row = [indexPath row];
cell.placeLabel.text = _places[row];
return cell;
}
-(void)tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath
{
[super tableView:tableView didDeselectRowAtIndexPath:indexPath];
int rowNo = indexPath.row;
_place = [_places objectAtIndex:rowNo];
}
- (void) performSearch {
MKLocalSearchRequest *request =
[[MKLocalSearchRequest alloc] init];
request.naturalLanguageQuery = _m.name;
_places = [[NSMutableArray alloc] init];
MKLocalSearch *search =
[[MKLocalSearch alloc]initWithRequest:request];
[search startWithCompletionHandler:^(MKLocalSearchResponse
*response, NSError *error) {
if (response.mapItems.count == 0)
NSLog(@"No Matches");
else
for (MKMapItem *item in response.mapItems)
{
NSString *n = item.name;
[_places addObject:n];
}
}];
}
@end
答案 0 :(得分:0)
您需要添加一堆日志语句并查看控制台中显示的内容(或添加断点并使用调试器,但我猜您不知道如何执行此操作。
在performSearch开头添加一条日志语句,显示您用作搜索字符串的_m.name。将日志添加到完成处理程序的顶部,以便您知道它已被调用。
答案 1 :(得分:0)
好的,出于某种原因,在我将cellForRowAtIndexPath中的“row”类型从long更改为int而不是[indexPath row]之后,结果开始出现,我将其更改为indexPath.row