類別用來實現對現有類的擴展,只能擴展方法,不能擴展實例變量.在創建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;
}
`