标签:
在分类的接口中,只允许新增方法,不能新增变量。其语法格式如下:
@interface 类名(分类名)
新增方法声明;
@end
如有在分类中定义变量,将出现错误"Instance variables may not be placed in categories"
在分类的实现文件中,对新增的方法进行定义,其语法形式如下:
@implementation 类名(分类名)
新增方法的定义{
语句;
}
@end
分类的方法声明和定义好后,就可以对声明和定义的方法进行调用了,其语法形式如下:
[对象名 新增方法名];
示例,代码程序如下:
类Aaa的定义及实现:
#import <Foundation/Foundation.h> @interface Aaa : NSObject{ int val; } @end #import "Aaa.h" @implementation Aaa @end
分类Aaa(Cate)定义及实现:
#import "Aaa.h" @interface Aaa(Cate) -(int) intval; @end #import "Aaa+Cate.h" @implementation Aaa (Cate) -(int) intval{ val = 1000; return val; } @end
main方法中调用:
#import <Foundation/Foundation.h> #import "Aaa+Cate.h" int main(int argc, const char * argv[]) { Aaa *a = [[Aaa alloc]init]; NSLog(@" val = %d",[a intval]); return 0; }
执行结果:
标签:
原文地址:http://www.cnblogs.com/wlxm/p/4291861.html