//协议总结:协议不是类,是一套标准(一些方法的声明),服从协议的类对协议进行实现
//1.先创建一个协议 以类名+Delegate命名 内部添加声明协议的约束方法 这里注意:只声明不进行实现
//2.在其他类中表示该类服从某一协议步骤分三步
//1).导入头文件 #import "TeachingDelegate.h"
//2).在.h文件的接口部分父类的后面添加 <协议名>
//3).在.m文件里针对协议里声明的方法进行实现 即谁服从谁实现
//4).//代理的语义特性为assign 代理起名叫做 类名+delegate 类统一用id代替 代理统一用delegate代替如:@property(nonatomic,assign)id <WomenDelegate> delegate;
//5).协议的实现必须是当对象发出某一触发协议实现的指令才会触发协议的实施,协议本身不会主动实现.
//延展总结:主要是为有源代码的类添加实例方法或对象 内容私有只在.m文件里实现,不进行声明.
//1.在.m文件里的开头之前添加@interface 类名 (延展类名){添加实例变量和方法}@end结束
//2.在.m文件的实现部分对延展里面的方法进行实现
//类目 分类 Categray 总结
//1.为没有源代码的类添加方法,因为我们拿不到源代码,所以不能添加实例变量但可以添加方法
//2.具体操作:在相应的.h文件里声明,在.m文件里实现 声明和实现与其他普通的类一样
//3.具体格式:在.h文件里 @interface 需要扩展的类名(NSString) (扩展类名)开头 @end结束 在.m文件里以:@implementation 需要扩展的类名(NSString) (扩展类名) @end结束
//4.在main.m文件里的调用和其他方法一样