1

我是 Objective C 的初学者。在导航控制器中选择 TableRow 后,我正在设置 Mapview。我收到此错误,它终止了应用程序。

-[UIView setRegion:animated:]: unrecognized selector sent to instance 0x806b2c0

这是我对 Mapview 的 viewWillAppeer

- (void)viewWillAppear:(BOOL)animated {

    CLLocationCoordinate2D zoomLocation;
    zoomLocation.latitude = 39.281516;
    zoomLocation.longitude= -76.580806;

    if (CLLocationCoordinate2DIsValid(location)) {
        MKCoordinateRegion mapRegion = MKCoordinateRegionMakeWithDistance(zoomLocation, 0.5*METERS_PER_MILE, 0.5*METERS_PER_MILE);

        [_mapView setRegion:mapRegion animated:YES];
    } else {
        NSLog(@"Invalid coordinates");
    }
}

用于此导入 mapkit 和 corelocation 的头文件并具有此属性。

@property (weak, nonatomic) IBOutlet MKMapView *mapView;

头文件包括 mapkit 和 coreelocation 并且使这个属性变得强大也没有改变任何东西。

4

2 回答 2

2

发生这种情况是因为我之前在我的 LocateItemViewController(具有地图视图的控制器)上连接了一个名为“mapView”的插座,并且从未从“Connections Inspector”中删除它。

查看名为的灰色出口

查看 Outlets 部分下名为“view”的灰色出口,我有一个类似的名为 mapView

于 2012-12-06T20:51:30.910 回答
0

变量_mapView被修改为UIView. 该函数属于MKMapView而不是UIView

参考:http: //developer.apple.com/library/ios/#documentation/MapKit/Reference/MKMapView_Class/MKMapView/MKMapView.html

于 2012-12-05T08:39:32.060 回答