扩展 Extension

@interface SneakyButton (Extension)
+(id) button;
+(id) buttonWithRect:(CGRect)rect;
@end

 

扩展实际上是为已存在类做一个补充,就是说此处的SneakyButton实际上已经存在于别处了,这是来自Sneakyinput的一个类,为了方便的创建一个button对象,在不修改库类的前提下扩展是最好的方法。

引用网上看到的一个解释

写道
这就是 Objective-C 中类的扩展,需要注意的是:
- 所谓的扩展,其实就是为一个类添加额外的原来没有的方法或者合成属性;
- 扩展中,只能扩展合成属性和方法,不能添加字段,否则会编译错误;
- 定义在 .m 文件中的扩展为私有的,定义在 .h 文件(头文件)中的扩展为公有的。类扩展是在 .m 文件中声明私有方法的非常好的方式。
- 类扩展中的声明的方法与在类中声明的方法是完全一致的,这些方法必须在随后的代码中实现,在编译时会被添加到类中,而分类是在运行时进行添加的。

 

猜你喜欢

转载自wiseideal.iteye.com/blog/1895265