OC-分类

1.不能再分类里面添加属性, 只能添加方法。
2.如果在分类里面使用@property,那么他只生成sette,getter的声明而没有实现。
3.如在在分类中写了与本类同名的方法,优先调用分类里面的方法
4.在分类里面可以访问本类里面所定义的属性
 例子:目录
主函数main.m

#import <Foundation/Foundation.h>

#import "NSString+CategoryNSString.h"

 

int main(int argc, const char * argv[]) {

    @autoreleasepool {

        NSString *str=@"abc";

        NSLog(@"%@", [str Reverser]);

        NSLog(@"%d",[str leng].intValue);

    }

    return 0;

 
}
 
 
类目文件:NSString+CategoryNSString.h

#import <Foundation/Foundation.h>

@interface NSString (CategoryNSString)

-(NSString *)Reverser;

-(NSNumber *)leng;

 
@end
 
类目文件:NSString+CategoryNSString.m
 
 

#import "NSString+CategoryNSString.h"

 

@implementationNSString (CategoryNSString)

/**

 *  字符串反转函数

 *

 *  @param string 传入的字符串

 *

 *  @return 逆序后的字符串

 */

-(NSString *)Reverser{

    NSMutableString *str=[NSMutableString string];

    for (unsigned long i=(self.length); i>0; i--) {

        [str appendFormat:@"%c",[self characterAtIndex:i-1]];

    }

    return str;

}

/**

 *  把字符串长度int类型变成NSNumber类型

 *

 *  @param string 出入的字符串

 *

 *  @return NSNumber,字符串的长度

 */

-(NSNumber *)leng{

    NSNumber *num=[[NSNumber alloc]initWithUnsignedLong:self.length];

    return num;

    

}

 
@end
 
原文地址:https://www.cnblogs.com/fume/p/5235652.html