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

Objective c -[UIView setRegion:animated:]:发送到实例的选择器无法识别,objective-c,ios,ios6,mapkit,core-location,Objective C,Ios,Ios6,Mapkit,Core Location,我是Objective C的初学者。在导航控制器中选择TableRow后,我正在设置Mapview。我收到这个错误,终止了应用程序 -[UIView setRegion:animated:]: unrecognized selector sent to instance 0x806b2c0 这是我的ViewWillapper for Mapview - (void)viewWillAppear:(BOOL)animated { CLLocationCoordinate2D zoomL

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

-[UIView setRegion:animated:]: unrecognized selector sent to instance 0x806b2c0
这是我的ViewWillapper for Mapview

- (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和CoreLocation,使此属性变强也没有改变任何内容。

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


参考资料:

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


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

在方法调用时,您的mapView对象已损坏。能否确保IBoutlet已连接?我想我忘了在mapView上执行alloc什么??“忘了分配”?-这是一个出口。您正在显式分配它吗?-它应该链接到XIB.Oops的地图视图!!它只是抑制了错误,所以我认为这可能是问题所在。我有一个故事板和排水沟节目,我有我的IBOutlet连接。仍然得到相同的errorI函数调用
[self.mapView setRegion:mapreion animated:YES]和属性到
@property(弱、非原子)IBOutlet MKMapView*mapView尝试
NSLog(@“%@”,_mapView)。我想知道它设置为什么值。控制台屏幕截图带有
NSLog(@“%@”,self.mapView):这真是一个
ui视图
!您最好查找并替换
\u mapView
,并查看分配给它的内容。控制器肯定是UIView的一个子类,但我的属性定义明确指出它是MKMapView。我没有定制员,这正是我的问题。非常感谢。