Objective-C:“+(CCScene *)函数{...}是什么意思?

时间:2012-06-03 19:33:09

标签: objective-c cocos2d-iphone

  

可能重复:
  What do the plus and minus signs mean in Objective C next to a method?

当我继续了解iOS时,我在我正在使用的示例代码的早期行中遇到了这个+(CCScene *)function {...}。我知道方法是使用-在Obj-C中实现的,如下面的方法:-(ObjectType*)function {...},但我很好奇,明显函数实现之前的+表示什么?

2 个答案:

答案 0 :(得分:2)

实例方法(或更确切地说,Objective-C中的消息)以-开头。类方法以+开头。不同的是,实例消息可以发送到某个类的对象,而类消息也可以发送给类本身。

我们假设您有一个名为Country的课程。然后,您可能会有一个实例消息namearea,它将返回您的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?”。