Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective-C:类与实例方法?_Objective C - Fatal编程技术网

Objective-C:类与实例方法?

Objective-C:类与实例方法?,objective-c,Objective C,在Objective-C中,在创建任何类时,我们如何决定是否需要将方法标记为类方法或实例方法 我知道2之间的区别,但我的问题是如何确定任何方法的标记(+/-)?+表示类方法,-表示实例方法。在应用程序需要的地方创建类或实例方法。如果您真的知道这两者之间的区别,以及您的应用程序,那么您在理解何时使用哪一种应用程序时应该没有问题 我相信您不知道它们在应用于您的应用程序时的区别,因此这里有一个小入门: 当需要通过类的所有实例全局访问某些行为时,可以使用类方法。i、 例如,[[self class]s

在Objective-C中,在创建任何类时,我们如何决定是否需要将方法标记为类方法或实例方法


我知道2之间的区别,但我的问题是如何确定任何方法的标记(+/-)?

+
表示类方法,
-
表示实例方法。在应用程序需要的地方创建类或实例方法。如果您真的知道这两者之间的区别,以及您的应用程序,那么您在理解何时使用哪一种应用程序时应该没有问题

我相信您不知道它们在应用于您的应用程序时的区别,因此这里有一个小入门:

  • 当需要通过类的所有实例全局访问某些行为时,可以使用类方法。i、 例如,
    [[self class]someSpecialThing]
  • 当需要工厂方法时,还可以使用类方法;及
  • 在其他任何地方,都使用实例方法

+
表示类方法,
-
表示实例方法。在应用程序需要的地方创建类或实例方法。如果您真的知道这两者之间的区别,以及您的应用程序,那么您在理解何时使用哪一种应用程序时应该没有问题

我相信您不知道它们在应用于您的应用程序时的区别,因此这里有一个小入门:

  • 当需要通过类的所有实例全局访问某些行为时,可以使用类方法。i、 例如,
    [[self class]someSpecialThing]
  • 当需要工厂方法时,还可以使用类方法;及
  • 在其他任何地方,都使用实例方法

回答得很好,但我认为如果说消息传递
self
的类通常是为工厂方法保留的,这有点误会。在我看来,任何时候你有绑定到特定类型的功能,但不关心任何特定实例,你都应该使用类方法。对不起,我的措辞很糟糕,我不想暗示这是好的形式,这是两个不同的想法。我会修正措辞。回答得好,尽管我认为这有点误会,可以说消息传递
self
的类通常是为工厂方法保留的。在我看来,任何时候你有绑定到特定类型的功能,但不关心任何特定实例,你都应该使用类方法。对不起,我的措辞很糟糕,我不想暗示这是好的形式,这是两个不同的想法。我会修正措辞。