我有一个简单的地图视图。它有一个方法
-(void)loadAndDisplayPois{
NSLog(@"loadAndDisplayPois");
if(mapView.annotations.count > 0)
[mapView removeAnnotations:mapView.annotations];
self.pois = [self loadPoisFromDatabase];
NSLog(@"self.pois.count: %i", self.pois.count);
[mapView addAnnotations:self.pois];
NSLog(@"mapView.annotations.count: %i",mapView.annotations.count);}
在我下载数据并将其保存到数据库之后,该方法被调用,并且我确信该方法会因为日志而被调用。处理下载的类在将数据保存到数据库后执行,[self.senderObj performSelector:@selector(loadAndDisplayPois)];
其中 senderObj 是 MapViewController。pois 数组中的计数日志在我第一次单击后显示为 4。但是视图上没有注释,因为viewForAnnotation
没有调用(数组中的一个注释(我的当前位置))。在我通过单击 TEST 按钮再次执行该方法后,会在地图上显示所有内容。
在我单击 TEST 按钮viewForAnnotation
之后和之后调用该方法。viewWillAppear
从 2 天开始就让我发疯了。我不能了...