0

可能重复:
Objective-C:类与实例方法?

为什么我们在 iOS 中的方法名前加上“+”或“-”号。请帮助我了解符号逻辑,这有什么区别?

4

5 回答 5

7

它与符号无关;

+意味着该方法是一个类方法,也就是说,它对类本身而不是实例进行操作(或者更确切地说,它的范围是)。许多其他语言中对应的东西是static.

-表示该方法是实例方法,即对类的实例进行操作。

于 2012-10-05T10:03:48.593 回答
3
`@interface MyClass : NSObject
{
}

+(id) someMethod;  // declaration of class method

-(id) someMethod;  // declaration of instance method

@end` 

实例方法应用于类的实例,因此它们需要应用对象并可以访问其调用者的成员。

另一方面,类方法适用于整个类,它们不依赖于任何对象。

检查此链接以获取正确的知识链接

于 2012-10-05T10:10:52.200 回答
2

减号-表示实例方法。加+号是类方法

于 2012-10-05T10:02:21.810 回答
2

前导 + 号表示类方法,- 号表示实例方法。

旁注:这里不应该问这个问题 - 更仔细地阅读该教程。

于 2012-10-05T10:03:15.007 回答
1

-前缀表示实例方法,前缀+表示类(或静态)方法。

有关更多信息,请参阅(和许多其他)SO 帖子。

于 2012-10-05T10:03:30.873 回答