category extension

1 category 分类,只能添加方法,添加的方法成为原来类的一部分,达到扩展类的目的,可以被子类继承

   主要给没有源代码的类 添加方法,团队合作项目互不影响,不该动原有类的基础上添加方法

         

self 谁调用 self就是谁  灵活运用self  省去很多参数 

        NSString *str4 = @"vayydy";

        NSString *str5 = [str4 getStringOneWord];

        NSLog(@"%@" , str5);

 

- (NSString *)getStringOneWord

{

    return [[self substringToIndex:1] uppercaseString];

}

 

       

        NSLog(@"%d" , [@"ydsaokcmkd" iscontainString:@"sao"]);

        

- (BOOL)iscontainString:(NSString *)str

{

//    return [[[self rangeOfString:str].length] == 0 ? YES : NO];

    return [self containsString:str] ? YES : NO;

}

       

        NSArray *array4 = @[@"dusy" , @"oich" , @"aew" , @"uys"];

        NSString *str9 = @"aew";

        NSInteger result = [array4 isContain:str9];

        NSLog(@"%ld" , result);

 

- (NSInteger)isContain:(id)str

{

    return [self containsObject:str] ?[self indexOfObject:str]: UINT64_MAX;

}

        NSDictionary *dic = @{@"3":@"vv" , @"6":@"mm" , @"1":@"ds"};

        [dic sortDic];

 

- (void)sortDic

{

   NSLog(@"%@" , [[self allKeys] sortedArrayUsingSelector:@selector(compare:)]);

}

 

 2 extension  延展   功能管理私有方法

   也就是类中实现的方法有些事私有的,把他总结列在前面 ,一目了然 

你可能感兴趣的:(ext)