2012-12-05 155 views
1

我是Objective C的初學者。我在導航控制器中選擇了TableRow後設置了Mapview。我得到這個終止應用程序的錯誤。- [UIView setRegion:animated:]:發送到實例的無法識別的選擇器

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

這是我的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"); 
    } 
} 

頭文件viewWillAppeer該進口mapkit和corelocation,具有這種性質。

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

頭文件包含mapkit和coreelocation,並使這個屬性很強也沒有改變任何東西。

+2

您_mapView對象在方法調用的時候被破壞。 – samfisher

+0

可以確保IBoutlet已連接? – samfisher

+0

我想我忘了在mapView –

回答

0

變量_mapView被修改爲UIView。該功能屬於MKMapView而不是UIView

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

+0

我調用'[self.mapView setRegion:mapRegion動畫:YES];'和屬性到'@property(弱,非原子)IBOutlet MKMapView * mapView;' –

+0

嘗試'NSLog(@「%@ 「,_mapView);'在問題的代碼中。我想知道它有什麼價值。 – Raptor

+0

控制檯與'NSLog(@「%@」,self.mapView)截圖;':http://snag.gy/fC1wd.jpg –

2

這事,因爲我以前迷上了我的LocateItemViewController(該控制器具有地圖視圖)命名爲「MapView的」出口,並且從來沒有從「連接檢查」將其刪除。

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

看到一個名爲「視圖」下,奧特萊斯部分變灰的出口,我也有類似的一個名爲MapView的

+0

這是我確切的問題。謝謝!! –

相關問題