创建一个分类:
在原有基础上实现一个翻转字符串的功能:
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