0

にいくつかの注釈を追加しようとしてMapViewいますが、ARC セマンティックの問題が発生し続けています。

私はこれにかなり慣れていないので、それが何を意味するのか本当にわかりません.誰かがそれを説明/修正できるなら、私は感謝します.

これが私のviewDidLoad方法です:

- (void)viewDidLoad
{
    CLLocationCoordinate2D location;
    location.latitude = (double) 51.501468;
    location.longitude = (double) -0.141596;

    MKPointAnnotation *newAnnotation = [[MKPointAnnotation alloc] initWithTitle:@"Buckingham Palace" andCoordinate:location];
    [self._mapView addAnnotation:newAnnotation];

}

そして私のヘッダーファイル:

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

@interface MapViewAnnotation : NSObject <MKAnnotation> {

NSString *title;
CLLocationCoordinate2D coordinate;

}

@property (nonatomic, copy) NSString *title;
@property (nonatomic, readonly) CLLocationCoordinate2D coordinate;

- (id)initWithTitle:(NSString *)ttl andCoordinate:(CLLocationCoordinate2D)c2d;

@end
4

2 に答える 2

3

作成したinitWithTitle:andCoordinateメソッドは、MKPointAnnotationではなくMapViewAnnotationのメソッドです。

あなたはおそらく欲しい:

MapViewAnnotation *newAnnotation = [[MapViewAnnotation alloc] initWithTitle:@"Buckingham Palace" andCoordinate:location];
[self._mapView addAnnotation:newAnnotation];
于 2012-12-07T17:38:50.713 に答える
0

initWithTitle:andCoordinate の署名に一致するメソッドが見つからないことを伝えようとしています。

MKPointAnnotation *annotation = [[MKPointAnnotation alloc] init];
[annotation setCoordinate:coordinate];
[annotation setTitle:@"Buckingham Palace"];
于 2012-12-07T17:30:11.780 に答える