类目的使用
类目:为没有源代码的类添加方法,同一个文件里面可以定义多个类目,每个类目都有一个名字作为唯一区分
类目:只能够扩展方法但是不能扩展实例变量
//获取字符串的首字母并且大写(定义)
+ (NSString *)subFirstString:(NSString *)str;
实现
+ (NSString *)subFirstString:(NSString *)str {
//在系统的方法扩张的新的方法
NSString *first = [str substringToIndex:1];
return [first uppercaseString];
}
延展:本质上是为可以拿到源代码的类扩展实例变量和方法,但是扩展的实例变量和方法是私有的,外界无法访问到。
延展的目的:将某些不必对外界声明的接口隐藏起来,可以保证我们代码的安全。不必担心外界修改我们的源代码。
协议本质上是一个.h文件,协议中只存放方法的声明,真正实现协议方法的是遵循协议的人。
协议的实现分为必须实现(@required)和选择实现(@optional)两种,系统默认是必须实现的。