Category
2015-12-08 17:37
656 查看
优点:
1.增加方法不需要继承。
2.类的实现分散化。
3.前向引用。在其他地方使用类(或者Category)的私有实现时(会报错,编译不能通过),只需要在文件中添加一个声明了私有方法的Category,该方法只需要声明不需要实现,Runtime会找到实现。
4.私有委托。(不知道咋回事)
缺点:
1.不能添加成员变量。可通过关联实现(setAssociatedObject&getAssociatedObject)。
2.名称冲突,类别方法会覆盖类方法。
3.编译器不建议覆盖父类init方法。
Extension:
必须放在.m文件中
一般括号中没有名称,如:
@interface MyClass ()
@property (retain, readwrite) float value;
@end
1.增加方法不需要继承。
2.类的实现分散化。
3.前向引用。在其他地方使用类(或者Category)的私有实现时(会报错,编译不能通过),只需要在文件中添加一个声明了私有方法的Category,该方法只需要声明不需要实现,Runtime会找到实现。
4.私有委托。(不知道咋回事)
缺点:
1.不能添加成员变量。可通过关联实现(setAssociatedObject&getAssociatedObject)。
2.名称冲突,类别方法会覆盖类方法。
3.编译器不建议覆盖父类init方法。
Extension:
必须放在.m文件中
一般括号中没有名称,如:
@interface MyClass ()
@property (retain, readwrite) float value;
@end
相关文章推荐
- 初探django-写一个小游戏charade
- Django1.9学习笔记
- UVALive 6835 Space Golf-计算几何
- Go语言几大命令简单介绍
- GridView自带分页 1总页数 首页 下一页 上一页 尾页 X 页 go 实现方法 .
- Django笔记教程:四、会话、注册、以及用户
- mongorestore 恢复mongodump文件报BSONObj size: 17794400 (0x10F8560) is invalid. Size must be between 0 and
- flowplayer设置视频logo
- self,super,protocol,category,extension 的用法
- Objc-C 知识点回顾 八 NSDate、 Extension、Category、Delegate
- Gosn的使用
- FakeID签名漏洞分析及利用(Google Bug 13678484)
- Firefox失去了Google一年3亿美金的搜索授权费
- TiDB安装make时报错:unrecognized import path "golang.org/x/tools/go/gcimporter"和unrecognized import path "golang.org/x/tools/go/types"
- Django 之更改密码加密类型
- TiDB安装make时报错:unrecognized import path "golang.org/x/tools/go/gcimporter"和unrecognized import path "
- MIGO时没发料不允许入库
- 11 类别(category)和扩展(extension)
- UVALive 6835 Space Golf(物理题)
- Concurrency In Golang