本节目录
category理解
1.给现在的类增加功能,如添加方法
2.分类不能添加成员变量
3.文件中的语法@interface 主类类名(分类类名)
4.文件名通常为:主类名+分类名
5.引用是要import分类
category例子
在OC中我觉得URL编码的方法太长了,我想缩短点,于是给字符串URL编码、URL解码新起方法
#import <Foundation/Foundation.h> @interface NSString (Extend) -(NSString *)urlEncode; -(NSString *)urlDecode; @end
#import "NSString+Extend.h" @implementation NSString (Extend) -(NSString *)urlEncode{//太长了,让方法缩短下 return [self stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; } -(NSString *)urlDecode{ return [self stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; } @end
#import <Foundation/Foundation.h> #import "NSString+Extend.h" int main(int argc, const char * argv[]) { @autoreleasepool { NSString *str = @"我是IOS开发者"; NSString *urlEncode = [str urlEncode]; NSLog(@"URL Encode后 %@",urlEncode); NSLog(@"URL Decode后 %@",[urlEncode urlDecode]); } return 0; }
结果
2014-03-19 23:11:45.133 HellowWord_OC[1849:303] URL Encode后 %E6%88%91%E6%98%AFIOS%E5%BC%80%E5%8F%91%E8%80%85 2014-03-19 23:11:45.133 HellowWord_OC[1849:303] URL Decode后 我是IOS开发者