可能重复:
What do the plus and minus signs mean in Objective C next to a method?
当我继续了解iOS时,我在我正在使用的示例代码的早期行中遇到了这个+(CCScene *)function {...}
。我知道方法是使用-
在Obj-C中实现的,如下面的方法:-(ObjectType*)function {...}
,但我很好奇,明显函数实现之前的+
表示什么?
答案 0 :(得分:2)
实例方法(或更确切地说,Objective-C中的消息)以-
开头。类方法以+
开头。不同的是,实例消息可以发送到某个类的对象,而类消息也可以发送给类本身。
我们假设您有一个名为Country的课程。然后,您可能会有一个实例消息name
或area
,它将返回您的Country实例的名称或区域。
NSString *name = [someCountry name];
// name could be "Germany" or "France" for instance.
您可能还有一条numberOfCountries
类消息,该消息将返回国家/地区实例的总数。
int totalCount = [Country numberOfCountries];
答案 1 :(得分:1)
'+'表示类方法,' - '表示实例方法。因此,+(CCScene *)function {...}
是一种类方法。
实例方法对对象进行操作并且可以访问其实例变量,而类方法作为一个整体对类进行操作,并且无法访问特定实例的变量(除非您将实例作为参数传递)。 / p>
有关详细信息,请参阅Stackoverflow上的“Class vs Instance Methods?”。