gpt4 book ai didi

objective-c - Objective-C 中的静态方法(不是类方法)

转载 作者:太空狗 更新时间:2023-10-30 03:30:43 26 4
gpt4 key购买 nike

阅读时THIS问题和接受的问题答案,我无法区分这两种方法。通过阅读示例实际上明白了要点,但是后来,我无法编写自己的静态方法。

我尝试使用谷歌搜索在 Objective-C 静态方法中创建静态方法

它返回了指向 THIS 的链接和 THIS问题。但是,根据问题中的第一个链接,这里的示例是 CLASS 方法。这让我很困惑。

这里有人能告诉我如何创建一个不是类方法静态方法吗?

如能提供任何相关信息,我们将不胜感激。

最佳答案

您遇到的问题如下 - Obj-C 中没有静态方法,这就是您无法创建它们的原因。

静态方法和类方法的区别是语言概念的区别。您可以在 Java 或 C++ 等语言中找到静态方法,您会在 Obj-C 和 Ruby 等语言中找到类方法。

主要区别在于

  1. 静态方法在所有实例之间共享(这在 Obj-C 中不存在)。它们根据变量的类型进行静态调度(在编译时)。

  2. 类方法是类的方法。在像 Obj-C 和 Ruby 这样的语言中,类本身是另一个类(元类)的实例。在方法声明之前使用 + 意味着该方法将在类上定义。从技术上讲,它只是一个实例方法,只是在不同的对象上。

如果您没有完全理解类方法的概念,请不要担心,这需要时间。为了简化,您可以将其视为实例之间共享的方法,但可以在子类中覆盖它。

关于objective-c - Objective-C 中的静态方法(不是类方法),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15965865/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com