类别用来实现对现有类的扩展,只能扩展方法,不能扩展实例变量.在创建OC文件时可以选择category,可以实现多继承的功能
//
// NSString+Reverse.h
// IOS150616_ObjectiveC_类别
//
// Created by qianfeng on 15/6/16.
// Copyright (c) 2015年 Peng Junlong. All rights reserved.
//
#import <Foundation/Foundation.h>
//创建一个Objective-C file,选择Category
@interface NSString (Reverse)
+ (NSString *)reverseString:(NSString *)aString;
+ (void)printString:(NSString *)aString;
@end// NSString+Reverse.m
// IOS150616_ObjectiveC_类别
//
// Created by qianfeng on 15/6/16.
// Copyright (c) 2015年 Peng Junlong. All rights reserved.
//
#import "NSString+Reverse.h"
//类名+类别名+.h
//类名+类别名+.m
@implementation NSString (Reverse)
+ (NSString *)reverseString:(NSString *)aString
{
NSInteger len = [aString length];
NSString *str = @"";
for (NSInteger i = len-1; i>=0; i--) {
str = [str stringByAppendingFormat:@"%C",[aString characterAtIndex:i]];
}
return str;
}
+ (void)printString:(NSString *)aString
{
NSLog(@"%@",aString);
}
@end// main.m
// IOS150616_ObjectiveC_类别
//
// Created by qianfeng on 15/6/16.
// Copyright (c) 2015年 Peng Junlong. All rights reserved.
//
#import <Foundation/Foundation.h>
#import "NSString+Reverse.h" //使用类别中的方法,必须包含对应的头文件
//NSString
//类别 给类或者类族扩展方法,但是不能扩展实例变量
int main(int argc, const char * argv[]) {
@autoreleasepool {
[NSString printString:[NSString reverseString:@"Hello World"]];
}
return 0;
}
`
本文介绍如何使用 Objective-C 的类别 (Category) 功能为 NSString 类型扩展方法,实现字符串反转。通过创建自定义类别,实现了 reverseString 和 printString 方法,演示了如何在代码中调用这些新方法。

被折叠的 条评论
为什么被折叠?



