【问题标题】:Where's +alloc defined?+alloc 定义在哪里?
【发布时间】:2010-10-24 12:24:01
【问题描述】:

这可能是一个愚蠢的问题。我需要知道为任何 Objective-C 类定义的 +alloc 方法在哪里? 如果是NSObject中的类方法怎么继承?因为类方法不能被继承。 谢谢。

【问题讨论】:

  • 当然可以继承类方法。它们实际上与任何其他方法没有什么不同。

标签: iphone objective-c iphone-sdk-3.0 ios4 ipad


【解决方案1】:

是的,它在NSObject(和NSProxy)中定义。快速浏览一下文档就会告诉您这一点。

因为类方法不能被继承。

错了。你在哪里读到的?

【讨论】:

    【解决方案2】:

    这是NSObject的类方法。 NSObject 本身不继承任何东西,因为它是一个根类。

    分配

    返回接收类的新实例。

    + (id)alloc

    返回值
    接收器的新实例。

    【讨论】:

    • -1; Objective-c 没有静态方法。你一定在想java。
    • @Graham Lee,尽管我们在目标 c 中将其称为类方法,但它与 Java 静态方法非常相似。我们只是直接通过类名调用它而不实例化对象。
    • @charith:在 Objective-C 中,static 有特定的含义。类方法不满足这个含义。
    • @Graham,我知道它是什么吗?我是 Objective C 的新手。我也无法想象类方法是如何继承的。请解释一下。谢谢。
    • @charith:你不会调用 Objective-C 中的方法,而是发送消息。要发送消息,您必须有一个对象来发送消息。类方法和普通方法之间的唯一区别是您将消息发送到恰好代表类的对象。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-03-22
    • 2016-02-19
    • 2016-12-31
    • 2011-10-08
    • 2010-09-30
    • 2013-04-04
    相关资源
    最近更新 更多