object-c的Category

Category 可以给原有的类增加新的方法,而不用重新建一个类,然后在原有的类的基础上使用这个方法。
另外注意
1)  不能增加数据成员
2) 若Category添加的方法与原有的类的方法相同 那么原来的方法被覆盖

例子:给NSString类增加一个字符串反向输出的方法
头文件: NSString+ReverseString.h

#import <Foundation/Foundation.h>


@interface NSString (ReverseString)


-(id)reverseString;//字符串反向输出


@end

实现文件: NSString+ReverseString.m

#import "NSString+ReverseString.h"


@implementation NSString (ReverseString)

-(id)reverseString

{

    NSUInteger len = [self length];

    NSMutableString *retStr = [NSMutableStringstringWithCapacity:len];

    while (len>0) {

        unichar c = [self characterAtIndex:--len];

        NSString *s = [NSString stringWithFormat:@"%C", c];

        [retStr appendString:s];

    }

    return retStr;

}

@end

在其他地方调用:
#import  "NSString+ReverseString.h"

-(void)test

{

    NSString *str = @"hello world!";

    NSString *retString = [str reverseString];

    NSLog(@"retString: %@", retString);

}

输出结果:retString: !dlrow olleh
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值