ios 类别和扩展
来源:互联网 发布:法律英语翻译软件 编辑:程序博客网 时间:2024/05/22 03:28
类别
@interface ClassName (CategoryName )
// methoddeclarations
@end
注意事项
1:类别是类的扩展,只可以声明方法,不可以声明变量。并且,类别的方法优先级较高,可覆盖原类方法。
2:类别的方法中,不可以调用super方法。--类别的局限
3:category 方法不能覆盖于同一class 的其它 category中的方法。因为不法预知他们的加载优先顺序,就可能在编译时出错。
使用类别:
1。对框架提供类的扩展(没有源码,不能修改)。
2。 不想生成一个新的子类的情况下,比如对NSArray 的扩展。
3。方便做项目管理,可以将一份源码在多个地方共享或者做方法版本管理、多人协作开发、用本地版本替换公共版本实现。
扩展:
1:某些情况下,我们需要声明一个@property,它对外是只读的(readonly),而对内是可读写的(readwrite),这时,可以通过Extensions实现
// .h@interface BaseClass : NSObject@property (readonly) NSString *privateString;@end// .m@interface BaseClass()@property (readwrite) NSString *privateString;@end@implementation BaseClass@synthesize privateString;//...@end
2:使编辑器可以更好的验证类的私有的方法或者变量
@interface BaseClass()- (void)doSomethingPrivate;@end@implementation BaseClass//...@end
0 0
- ios 类别和扩展
- ios 类别和扩展
- ios 类别和扩展
- iOS类别和类扩展
- ios 类别和类扩展
- iOS类别和扩展(Category和Extension)
- iOS - Categories&&Extensions (类别和扩展)
- iOS 类别(catogry)和类扩展(extension)
- IOS中的类别(Category)和扩展(Extension)
- iOS类别(Category)和扩展(Extension)
- iOS 类别和扩展的区别
- ios中类别和扩展的区别
- iOS类别的扩展
- iOS 类别和扩展(Categories和Extensions)
- iOS 类别和扩展(Categories和Extensions)
- iOS 类别和扩展(Categories和Extensions)
- iOS 类别和扩展(Categories和Extensions)
- iOS 类别和扩展(Categories和Extensions)
- **没有规则可以创建“XXX”需要的目标“XXX”问题的解决方案
- 一个手游人眼中的2014:并购转向、淘汰高发、借4G飙高
- 使用Application维护管理Activity列表
- python import
- Ubuntu与Android双系统安装
- ios 类别和扩展
- Oracle Errorcode 17002
- windows 7 无法共享打印机可通过如下方法解决。
- 全局变量初始化顺序
- 面试之银行调度系统
- JAVA统计代码行数
- 历届博客之星获奖博客分享--收藏
- ellipsize 属性
- Error Detection And Correction