OC语言学习21-分类应用

创建一个分类:

在原有基础上实现一个翻转字符串的功能:

New File  -> Objective-C File 创建一个NSString 类 名为Helper的分类文件

NSString + Helper.h文件代码

#import <Foundation/Foundation.h>


@interface NSString (Helper)


//翻转字符串

-(NSString *)reverse;

+(NSString *)reverseString:(NSString *)string;

@end

NSString +Helper.m实现代码

#import "NSString+Helper.h"


@implementation NSString (Helper)


//字符串翻转方式 012345 543210

-(NSString *)reverse

{

    NSUInteger length = self.length;

    

    unichar *buffer = calloc(length, sizeof(unichar));

    [self getCharacters:buffer range:NSMakeRange(0, length)];

    

    //翻转字符串

    for (NSUInteger i = 0; i < length/2; i++) {

        unichar temp = buffer[i];

        buffer[i] = buffer[length -1 -i];

        buffer[length -1 -i] = temp;

    }

    NSString *result = [NSString stringWithCharacters:buffer length:length];

    

    free(buffer);

    return result;

}


+(NSString *)reverseString:(NSString *)string

{

    return [string reverse];

}


@end


在main中使用:

#import <Foundation/Foundation.h>

#import "NSString+Helper.h"


int main(int argc, const char * argv[]) {

    @autoreleasepool {

        NSString *string = @"012345";

        NSLog(@"%@",string);

        NSLog(@"%@", [string reverse]);

        

        string = @"abcdefghijkl opqrstuvw";

        NSLog(@"%@", [NSString reverseString:string]);

    }

    return 0;

}


打印结果:

Category[1562:58479] 012345

2017-07-25 11:32:01.494546+0800 OC25-Category[1562:58479] 543210

2017-07-25 11:32:01.494619+0800 OC25-Category[1562:58479] wvutsrqpo lkjihgfedcba


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值