类别(category)
类别是对已经存在的类的一种扩展方式。可以为其添加新的方法和属性,但是不能添加新的实例变量。如果添加实例变量,就会破坏已存在的类原有的结构
命名方式
@interface NSString(myNSString)
-(void)getStrLength;
优点:可以把类的实现放在不同的文件中,减小文件的大小。
缺点:不能添加新的实例变量
扩展(extension)
可以把类扩展作为一种特殊的类别,就是没有名字的类别
命名方式
@interface myclass(){
NSString* str;
}
@end
特点:
1.可以添加实例变量
2.可以将只读权限更改为可读写权限