Objective-C接口声明语法

Objective-C接口声明语法,objective-c,Objective C,Objective-C语法问题。括号内的“东西”是什么意思?(TemplateMethods在这种情况下?) 我在Cocos3D中看到了很多这种用法,但我不知道它的意思。这是一个类别定义。类别是一种将方法添加到您不拥有的类或您拥有但特定于域的类的方法。您可以查看文档 我正在扩展@siris answer 当您想为另一个类创建一个类别时,必须这样编写。我不知道Cocos3D,所以我猜CC3OpenGL是Cocos3D中的一个类,您希望为该类创建一个类别,并将其命名为TemplateMethods

Objective-C语法问题。括号内的“东西”是什么意思?(
TemplateMethods
在这种情况下?)


我在Cocos3D中看到了很多这种用法,但我不知道它的意思。

这是一个类别定义。类别是一种将方法添加到您不拥有的类或您拥有但特定于域的类的方法。您可以查看文档

我正在扩展@siris answer

当您想为另一个类创建一个类别时,必须这样编写。我不知道
Cocos3D
,所以我猜
CC3OpenGL
Cocos3D
中的一个类,您希望为该类创建一个类别,并将其命名为
TemplateMethods

举个例子,

@interface UILabel (OtherMethods)
// Methods declarations
- (CGSize) getLabelSize;
@end
在这里,我们将其归类为
UILabel
,并将其命名为
OtherMethods
。我们可以像导入UILabel+OtherMethods.h一样导入它,访问它的方法

因此,现在您将有一个
UILabel
方法,您可以像访问
UILabel
的其他方法一样访问它

UILabel *lbl = [UILabel new];
lbl.frame = CGRectMake:(10,10,300,100);
[lbl setTextAlignment:NSTextAlignmentRight]; //normal method
[self.view addSubview:lbl];
CGSize lblSize = [lbl getLabelSize]; //category method
要了解更多信息,请点击此处

UILabel *lbl = [UILabel new];
lbl.frame = CGRectMake:(10,10,300,100);
[lbl setTextAlignment:NSTextAlignmentRight]; //normal method
[self.view addSubview:lbl];
CGSize lblSize = [lbl getLabelSize]; //category method