-1

可能重复:
Objective C 中方法旁边的加号和减号是什么意思?

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

4

2 回答 2

2

实例方法(或者更确切地说是 Objective-C 中的消息)以-. 类方法以+. 不同之处在于,实例消息可以发送到某个类的对象,而类消息已发送到类本身。

假设您有一个名为 Country 的类。然后您可能有一个实例消息nameor area,它将返回您的 Country 实例的名称或区域。

NSString *name = [someCountry name];
// name could be "Germany" or "France" for instance.

您可能还有一条numberOfCountries类消息,它将返回 Country 实例的总数。

int totalCount = [Country numberOfCountries];
于 2012-06-03T19:34:41.927 回答
1

“+”表示类方法,“-”表示实例方法。因此,+(CCScene *)function {...}是一个类方法。

实例方法对对象进行操作并可以访问其实例变量,而类方法对整个类进行操作并且无法访问特定实例的变量(除非您将实例作为参数传入)。

有关更多信息,请参阅Stackoverflow 上的“类与实例方法? ”。

于 2012-06-03T19:38:54.110 回答