A.给某个类扩充方法(不改变原来的类)
例如,给类Person加上名为Simon的category,加上一个-study方法
使用()注明
Person+Simon.h
1 @interface Person (Simon) 2 - (void) study; 3 @end 4 5 Person+Simon.m 6 @implementation Person (Simon) 7 - (void) study 8 { 9 NSLog(@"学习----"); 10 } 11 @end
使用:
1 #import <Foundation/Foundation.h> 2 #import "Person.h" 3 #import "Person+Simon.h" 4 5 int main(int argc, const char * argv[]) { 6 @autoreleasepool { 7 Person *p = [[Person alloc] init]; 8 [p study]; 9 } 10 return 0; 11 } 12
!!注意:
1.只能增加方法,不能增加成员变量;
2.分类方法可以访问原来的成员变量;
3.分类和原类存在同名方法的时候,分类的方法优先级比较高,会覆盖原类的同名方法;
4.多个分类存在同名方法的时候,调用决定于编译顺序,调用最后编译的(编译顺序可以在项目设置的“Buid Phases”中修改);
Bootstrap初学(一)
移动测试用例
Python 打包成exe执行文件
Python 模块导入
Sublime Text2编辑器
发送Email
读写TXT文档
JS与Jquery
自动化测试摸索