看起来我遇到了一个问题,MKMapView如果我在更改地图的可见区域时添加注释,我可以可靠地导致崩溃。我已经将导致它的代码简化为一个非常简单的实现,并且我在这里重现它:
NSMutableArray *pointAnnotationArray = [[NSMutableArray alloc] init];\nMKCoordinateRegion coordRegion = [mapViewOutlet region];\nfloat randMax = 0.1;\n\nfor (int i = 0; i < 100; i++){\n float randomDeviation1 = (((float) (arc4random() % ((unsigned)RAND_MAX + 1)) / RAND_MAX) * randMax) - (randMax / 2);\n float randomDeviation2 = (((float) (arc4random() % ((unsigned)RAND_MAX + 1)) / RAND_MAX) * randMax) - (randMax / 2);\n\n MKPointAnnotation *point = [[MKPointAnnotation alloc] init]; \n CLLocationCoordinate2D pointLocation = CLLocationCoordinate2DMake(coordRegion.center.latitude + randomDeviation1, coordRegion.center.longitude + randomDeviation2);\n [point setCoordinate:pointLocation]; \n [pointAnnotationArray addObject: …Run Code Online (Sandbox Code Playgroud)