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  延展   功能管理私有方法

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

时间: 2024-10-26 01:56:50

category extension的相关文章

基本语法 protocols Category extension

转:http://blog.csdn.net/wangeen/article/details/16989529 protocol   本质就是一系列的method的声明,他并不像class是必须的选项,根据自己的设计模式来选择性的使用. protocol协议时为了补充Objective-C 只能单继承的缺陷而增加的一个新功能.Objective-C重所有的方法都是虚方法,所以在oc重也就没有关键字 virtual一说,有了协议可以补充 Objective-C单继承的缺陷,协议并不是一个真正的类,

类的扩展(Extension , NSData, NSDateFormatter, Category, Extension, Protocol, delegate)

类的扩展         OC数据类型         1.NSInteger, NSUInteger         2.CGFloat         3.NSString, NSMutableString         4.NSArray, NSMutableString         5.NSNumber         6.NSDictionary, NSMutableDictionary         7.NSSet, NSMutableSet              NSD

Category的使用

1.创建一个objective-c file , 可以选择 category, extension ,protocol, empty 文件.选category 就能建立类别. category机制,它允许程序员为已有的对象添加新的方法,即便是在没有该对象的源代码的情况下.其优点是利用这个机制,程序员可以把一堆方法分门别类,分成若干组,每组方法用一个Category名字加以命名,定义在同一个文件里.这也是为什么把这个机制叫做Category的原因. 举例:#import <Foundation/F

Swift 基本语法2

一.?和! 1.可选类型: ? 在swift中,可选类型(?)其根源是一个枚举型,里面有None和Some两种类型.其实所谓的nil就是Optional.None, 非nil就是Optional.Some. ! 代表强制解包 1 // MARK: - ?和! 2 // ?代表可选类型,实际上的值是枚举类型 -- None和Some,其实nil值相当于Optional.None,非nil就是Optional.Some 3 // !代表强制解包 4 5 // 定义一个Int类型的可选类型变量 6 v

21.Swift中tableView的使用

// 遵守协议的方式,直接在继承的父类后跟,+协议即可 class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() // 添加tableView的控件 let tableView = UITableView() tableView.frame = self.view.bounds self.view.addSubview(tableView) // 设置数据源,设置数据 ta

Objective-C学习笔记_类的扩展

一Category的定义和使用 二Extension的定义和使用 三Protocol的定义和使用 delegate的使用 一.Category的定义和使用 Category,分类或类目.主要作用是为没有源代码的类添加方法.通过Category添加的方法会成为原类的一部分.从而达到扩展一个类的功能. 定义Category过程 新建?件 选择Objective-C Category模板 填写类名和分类名 .h?件添加?法声明 .m添加?法实现 Category的声明 NSString+SayHi.h

OC学习-类的扩展

类目-Category 作用:主要为没有源代码的类添加方法(比如系统的类) 定义Category 新建文件 选择OC Category模板 填写类和分类名 在.h中添加方法声明 在.m中添加方法实现 声明Category NSString+StringMethod.h @interface NSString (StringMethod) - (void)sayHi; @end NSString+StringMethod.m @implementation NSString (StringMeth

Objective-C_类的扩展

一Category的定义和使用 二Extension的定义和使用 三Protocol的定义和使用 delegate的使用 一.Category的定义和使用 Category,分类或类目.主要作用是为没有源码的类加入方法.通过Category加入的方法会成为原类的一部分. 从而达到扩展一个类的功能. 定义Category过程 新建?件 选择Objective-C Category模板 填写类名和分类名 .h?件加入?法声明 .m加入?法实现 Category的声明 NSString+SayHi.h

Containing ViewControllers

Containing ViewControllers 转自:https://www.cocoanetics.com/2012/04/containing-viewcontrollers/ For a project that I am currently working on I needed to implement a custom container view controller. I was feeling my way forward in the dark for the most