- [UIView setRegion:animated:]:发送到实例的无法识别的选择器

时间:2012-12-05 08:32:29

标签: objective-c ios ios6 mapkit core-location

我是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,并使这个属性变强也没有改变任何东西。

2 个答案:

答案 0 :(得分:2)

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

see the greyed outlet named "view" under Outlets section, I had a similar one named mapView

在Outlets部分看到名为“view”的灰色插座,我有一个名为mapView的类似的

答案 1 :(得分:0)

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

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