我正在通过一个地理定位教程,该教程将MKAnnotation协议引入一个类。
本教程建议在Theannotation.h类中创建以下方法
+ (id)annotationWithCoordinate:(CLLocationCoordinate2D)coord;
- (id)initWithCoordinate:(CLLocationCoordinate2D)coord;
并在实施中
+ (id)annotationWithCoordinate:(CLLocationCoordinate2D)coord {
return [[[[self class] alloc] initWithCoordinate:coord] autorelease];
}
- (id)initWithCoordinate:(CLLocationCoordinate2D)coord {
if ( self = [super init] ) {
self.coordinate = coord;
}
return self;
}
然后在viewcontroller中调用第二种方法
Theannotation *annotation = [[SimpleAnnotation alloc] initWithCoordinate:Coords];
我完全理解第二种方法,但我很困惑第一种方法。在示例教程中的任何其他地方都没有调用类方法,我很难理解为什么在这种情况下使用类方法。