分类(category)是在原有类不修改的情况下 , 对原有类的方法的扩展 , 而且不能增加原有类的属性 ;
协议(Protocol)是一些方法的声明的集合 , 不需要自己本身去实现这些方法 , 而在需要使用协议中某些方法的时候 , 直接在需要使用方法的.m中实现 , 协议中对方法的声明有两个修饰符@required和@optional , 其中@required修饰的方法声明的方法必须要实现 , 而@optional修饰的方法声明的方法是可选择实现的 , 在没有添加修饰符的情况下 , 协议中的方法声明的方法默认为必须要实现及默认为以@required修饰的 |