iOS (catagroy)类别

1:可以为类添加新的方法,但不能添加实例变量。

2:第一,无法向类中添加新的实例变量。类别没有位置容纳实例变量。

第二,名称冲突,即类别中的方法与现有的方法重名。当发生名称冲突时,类别具有更高的优先级。你的类别方法将完全取代初始方法,从而无法再使用初始方法。有些编程人员在自己的类别方法名中增加一个前缀,以确保不发生名称冲突

#import <Foundation/Foundation.h>

@interface NSString (NumberConience)

-(NSNumber *)lengethNumber;

@end

#import "NSString+NumberConience.h"

@implementation NSString (NumberConience)

-(NSNumber *)lengethNumber

{

    NSUInteger length=[self length];

    return [NSNumber numberWithUnsignedInteger:length];

    

}

@end

   

    NSMutableDictionary *dict=[NSMutableDictionary dictionary];

     [dict setObject:[@"hello" lengethNumber] forKey:@"hello"];

     [dict setObject:[@"I like Finsh" lengethNumber] forKey:@"fish"];

     [dict setObject:[@"once upon a time" lengethNumber] forKey:@"time"];

原文地址:https://www.cnblogs.com/thbbsky/p/4122794.html