2015-04-04 5 views
0

В настоящее время я завершаю учебник iOS по Ray Wenderlich над #Augmented Reality, и я столкнулся с проблемой, связанной с тем, что setLocationManger не найден в интерфейсе MainViewController ?? Как я могу это исправить?Ошибка компиляции iOS: нет видимого @interface для 'setLocationManager' объявляет селектор

Который я не понимаю, потому что я думал, что это включено в класс CoreLocation/Corelocation.h.

#import "MainViewController.h" 
#import <MapKit/MapKit.h> 
#import <CoreLocation/CoreLocation.h> 
@interface MainViewController() <CLLocationManagerDelegate, MKMapViewDelegate> 

@property (weak, nonatomic) IBOutlet MKMapView *mapViewPointer; 
@property (nonatomic, strong) CLLocationManager *locationManagerPointer; 

@end 

@implementation MainViewController 

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    // Roll Tide 

    [self setLocationManager:[[CLLocationManager alloc] init]]; 
    [_locationManagerPointer setDelegate:self]; 
    [_locationManagerPointer setDesiredAccuracy:kCLLocationAccuracyNearestTenMeters]; 
    [_locationManagerPointer startUpdatingLocation]; 
+0

Предоставьте полное объяснение ошибки и укажите на дорожке, в которой возникает ошибка. –

ответ

1

@property (nonatomic, strong) CLLocationManager *locationManagerPointer;

Либо переименовать locationManagerPointer в locationManager или вызвать сеттер в

[self setLocationManagerPointer:[[CLLocationManager alloc] init]];

Когда вы объявляете свойство сеттеров и добытчиками автоматически создаются.

Если у вас есть объявление о недвижимости как @property NSString *userName, то сеттер с методом setUserName и геттер userName будут созданы. Вы можете получить к ним доступ как [self setUserName:@"fooBar"] и [self userName]. Причина вашей ошибки заключается в том, что ваше имя свойства отличается от вашего задатчика.