首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >返回两个子类对象以删除,应该是两个单独的方法吗?

返回两个子类对象以删除,应该是两个单独的方法吗?
EN

Stack Overflow用户
提问于 2014-03-25 16:15:40
回答 1查看 17关注 0票数 1

我有两个子类‘`MKAnnotation’对象。我需要在我班上的某个时候返回每一种类型。

我是否应该:

代码语言:javascript
复制
-(void)returnAnnotation:(MKAnnotation *)myAnnotation;

然后让方法检查对象类,然后从那里开始?

代码语言:javascript
复制
-(void)returnAnnotation:(MKAnnotation *)myAnnotation {
    if ([myAnnotation isKindOfClass:[MyAnnotationA Class]]) {
        // do stuff
    } else if ([myAnnotation isKindOfClass:[MyAnnotationB Class]]) {
        // do other stuff
    }
}

代码语言:javascript
复制
-(void)returnAnnotationA:(MyANnotationA *)myAnnotationA;

-(void)returnAnnotationA:(MyAnnotationB *)myAnnotationB;

前者有助于减少方法,并使您更容易知道要调用哪个委托方法。

但后者更简洁,可能更容易理解正在发生的事情。

或者这条路基本上是六条半打的?

还是“可读性”对“写作能力”?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-03-25 17:59:58

在您的例子中,这似乎没有什么区别,但我建议您使用:

代码语言:javascript
复制
-(void)returnAnnotationA:(MyANnotationA *)myAnnotationA;
-(void)returnAnnotationA:(MyAnnotationB *)myAnnotationB;

以确保只传入有效的MKAnnotation子类。如果方法没有正确地处理MKAnnotation对象或任何其他子类,则不应该允许传入它们。

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

https://stackoverflow.com/questions/22640353

复制
相关文章

相似问题

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