OC语言学习21-分类应用
来源:互联网 发布:山东大学网络教育期末考试 编辑:程序博客网 时间:2024/06/05 18:54
创建一个分类:
在原有基础上实现一个翻转字符串的功能:
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));
[selfgetCharacters: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 = [NSStringstringWithCharacters:bufferlength:length];
free(buffer);
return result;
}
+(NSString *)reverseString:(NSString *)string
{
return [stringreverse];
}
@end
在main中使用:
#import <Foundation/Foundation.h>
#import "NSString+Helper.h"
int main(int argc,const char * argv[]) {
@autoreleasepool {
NSString *string =@"012345";
NSLog(@"%@",string);
NSLog(@"%@", [stringreverse]);
string = @"abcdefghijkl opqrstuvw";
NSLog(@"%@", [NSStringreverseString:string]);
}
return0;
}
打印结果:
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
- OC语言学习21-分类应用
- OC语言--分类(category)
- OC学习笔记之OC分类
- OC语言学习10-NSFileManager类的应用
- OC语言学习23-Block在类中的应用
- OC学习笔记之分类
- OC语言学习-其他
- oc语言学习
- OC语言学习1
- OC语言学习1
- oc语言的学习
- OC语言学习 (五) Category分类 和 类的延展Extension
- 黑马程序员之ios学习总结——10 OC语言的构造方法和分类
- 黑马程序员-----oc语言学习笔记之构造方法和分类
- OC语言类的深入和分类
- IOS开发---OC语言-⑮分类
- OC语言类的深入和分类
- OC语言类的深入和分类
- iOS系列开发-UITableView性能优化
- 线段树
- java private修饰的类和变量
- GCC for Windows 环境变量配置
- 利用放射性渐变实现css3渐变色边框
- OC语言学习21-分类应用
- Python数据分析-数据处理-数据导入
- Python数据分析-数据处理-数据导入与导出
- JS与面向对象
- 关于Linux里cp这个命令心得
- 【Redis基础】主从复制
- css 三角角标样式
- POJ P1741 Tree
- pcapy安装教程(多图,超详细)