首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MKAnnotation协议

MKAnnotation协议
EN

Stack Overflow用户
提问于 2011-02-23 18:43:35
回答 2查看 851关注 0票数 0

我目前正在学习一个地理定位教程,该教程将MKAnnotation协议引入到一个类中。

本教程建议在Theannotation.h类中创建以下方法

代码语言:javascript
复制
+ (id)annotationWithCoordinate:(CLLocationCoordinate2D)coord; 
- (id)initWithCoordinate:(CLLocationCoordinate2D)coord;

并且在实现中

代码语言:javascript
复制
  + (id)annotationWithCoordinate:(CLLocationCoordinate2D)coord {

return [[[[self class] alloc] initWithCoordinate:coord] autorelease];
  }


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

}

然后在视图控制器中调用第二个方法

代码语言:javascript
复制
  Theannotation *annotation = [[SimpleAnnotation alloc] initWithCoordinate:Coords];

我完全理解第二种方法,但是我对包含第一种方法感到困惑。在示例教程中的任何其他地方都没有调用类方法,我很难理解为什么在这种情况下会使用类方法。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-02-23 18:50:16

您可以省略这个类方法,但在某些情况下它很有用,因为它为您提供了一种创建“临时”注释的机制,该注释将自动发布。当然,您可以手动执行此操作,但在这种情况下,类方法是一种方便的方法。

票数 0
EN

Stack Overflow用户

发布于 2011-02-23 18:52:24

请浏览此博客here

或者您可以下载代码- link

看看代码,你就会知道哪些东西是强制的,哪些不是。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5089797

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档