category是向已有的类中添加方法,达到类拓展的目的。新添加的方法同样会被被拓展类的所有子类继承。
语法:
@interface ClassName (CategoryName) -methodName1 -methodName2 @end
@implementation ClassName (CategoryName) -methodName1 -methodName2 @end
实例:
可以具体参考http://blog.csdn.net/lovefqing/article/details/8289851
SEL
SEL 类成员方法的指针
可以理解 @selector()就是取类方法的编号,他的行为基本可以等同C语言的中函数指针,只不过C语言中,可以把函数名直接赋给一个函数指针,而Object-C的类不能直接应用函数指针,这样只能做一个@selector语法来取.它的结果是一个SEL类型。这个类型本质是类方法的编号(函数地址)
SEL XXX=@selector(@"test");
1 SEL 变量名 = @selector(方法名字);
2 SEL 变量名 = NSSelectorFromString(方法名字的字符串);3 NSString *变量名 = NSStringFromSelector(SEL参数);