2014-07-27 4 views
0

В основном я знаю, где будет обычно проблема (другой метод, чем я объявил), но взгляните на это. Конечно, я могу что-то упустить, но я пытался решить эту проблему в течение часа. Я тоже чист.Нет видимого @interface для селектора

Error: DetailGymViewController.m:46:62: No visible @interface for 'CustomAnnotation' declares the selector 'initWithCoordinate:title:subtitle:'

код с ошибкой:

#import "DetailGymViewController.h" 
#import "CustomAnnotation.h" 

@interface DetailGymViewController() 

@end 

@implementation DetailGymViewController { 
    CLLocationManager *locationManager; 
} 

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    locationManager = [[CLLocationManager alloc] init]; 
    self.mapView.delegate = self; 



    self.nameLabel.text = self.name; 
    self.longitudeLabel.text = [NSString stringWithFormat:(@"%f"), self.longitude]; 
    self.latitudeLabel.text = [NSString stringWithFormat:(@"%f"), self.latitude]; 
} 

#pragma mark - Map/Locations delegates 

- (void)locationManager:(CLLocationManager *)manager didFailWithError:(NSError *)error 
{ 
    NSLog(@"Failed to get location with error: %@", error); 
} 

- (void)mapViewDidFinishLoadingMap:(MKMapView *)mapView 
{ 
    CLLocationCoordinate2D coordinate; 
    coordinate.latitude = self.latitude; 
    coordinate.longitude = self.longitude; 
    // ERROR HERE 
    CustomAnnotation *annotation = [[CustomAnnotation alloc] initWithCoordinate:coordinate title:self.name subtitle:@"Info"]; 
    [self.mapView addAnnotation:(id)annotation]; 
} 

декларация CustomAnnotation.h:

#import <Foundation/Foundation.h> 
#import <MapKit/MapKit.h> 

@interface CustomAnnotation : NSObject 

@property (strong, nonatomic) NSString *title; 
@property (strong, nonatomic) NSString *subtitle; 
@property (nonatomic,assign) CLLocationCoordinate2D coordinate; 

- (id)initWithCoordinate:(CLLocationCoordinate2D)coordinate title:(NSString *)title subtitle:(NSString *)subtitle; 

@end 

также, мой файл CustomAnnotation.m:

 #import "CustomAnnotation.h" 

     @implementation CustomAnnotation 

     -(id) initWithCoordinate:(CLLocationCoordinate2D)coordinate title:(NSString *)title subtitle:(NSString *)subtitle { 
      if ((self = [super init])) { 
       self.coordinate = coordinate; 
       self.title = title; 
       self.subtitle = subtitle; 
      } 
      return self; 
     } 

     @end 
+0

Вы можете проверить, не упустили ли вы добавление CustomAnnotation к целевой программе? – ldindu

+0

@ldindu где я могу это найти? Странно то, что я использую упомянутый метод init в другом файле, и я не получаю никакой ошибки. – Xoroxoxoxoxoso

+0

Где ваш метод initWithCoordinate? – andrewbuilder

ответ

0

Я действительно не» Не знаю, где проблема. Я просто ударил CMD + N по ошибке, и ошибок не было. Я понятия не имею, что именно сделал Xcode.

+2

Вы понимаете, конечно, что использование Cmd + N вызывает жизнь, как вы ее знаете, чтобы мгновенно остановиться, и каждая молекула в вашем теле взорвалась со скоростью света. –

Смежные вопросы