首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在一个类别中调用super和在一个子类中调用它是相同的吗?

在一个类别中调用super和在一个子类中调用它是相同的吗?
EN

Stack Overflow用户
提问于 2011-05-29 21:45:01
回答 3查看 3.8K关注 0票数 12

在类别中调用[super init]是否与在子类中做相同的事情?如果不是,有什么不同?

EN

Stack Overflow用户

发布于 2011-05-29 22:08:04

编辑:以下内容建立在一个有缺陷的前提下,请看josh的回答。

不删除,这仍然是一个有趣的参考,因为它可能会让你误入歧途。

它们是一样的..。在没有引用任何外部讨论的情况下,我们可能会有你说我应该……“用学术答案回答学术问题”。

代码语言:javascript
复制
@implementation categoryTestViewController (ShadowBar)
- (void)viewDidAppear:(BOOL)animated {
    //draw the shadow ui nav bar
    NSLog(@"super's class = %@, self's class %@",[super class],[self class]);
    if ([self class] == [super class]) {
        NSLog(@"yeah they are the same");
    }
}
@end

输出:

代码语言:javascript
复制
2011-05-29 08:06:16.198 categoryTest[9833:207] super's class = categoryTestViewController, self's class categoryTestViewController
2011-05-29 08:06:16.201 categoryTest[9833:207] yeah they are the same

调用超级viewDidAppear:将导致不调用任何内容...不是循环,所以我不知道它到底在那里做什么。

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

https://stackoverflow.com/questions/6168058

复制
相关文章

相似问题

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