20150616_OC之類別

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

`
發佈了71 篇原創文章 · 獲贊 0 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章