为什么我们在iOS中的方法名称前加上'+'或' - '符号。请帮我解决标志逻辑,有什么不同之处?
答案 0 :(得分:7)
与标志无关;
+
表示该方法是一个类方法,也就是说,它在类本身上运行(或者更确切地说,它的作用域),而不是实例。许多其他语言中的相应内容是static
。
-
表示该方法是一个实例方法,即它在类的实例上运行。
答案 1 :(得分:3)
`@interface MyClass : NSObject
{
}
+(id) someMethod; // declaration of class method
-(id) someMethod; // declaration of instance method
@end`
实例方法适用于类的实例,因此需要应用对象并可以访问其调用者的成员。
另一方面,类方法适用于整个类,它们不依赖于任何对象。
检查此链接以获取正确的知识link
答案 2 :(得分:2)
减号-
表示实例method。加号+
是class method。
答案 3 :(得分:2)
前导+符号表示类方法, - 符号表示实例方法。
旁注:这里不应该问这个问题 - 请仔细阅读该教程。
答案 4 :(得分:1)
-
前缀表示实例方法,+
前缀表示类(或静态)方法。
有关详细信息,请参阅this(以及许多其他)SO帖子。