4.协议与分类

第23条 通过委托与数据源协议进行对象间通讯

多使用位段数据类型

第24条 将类的实现代码分散到便于管理的数个分类中

第25条 总为第三方类的分类名称加前缀

category中的方法可能会覆盖掉原来类的方法,比如NSString有个私有方法,你新增了一个NSString的Category类,并新增了跟该私有方法重名的方法,那么代码将会一直调用拟新增的Category类的新方法。如果有多个分类都覆盖了私有方法,那么最后只会执行一个分类的。
解决方法就是,在创建Category时,类名和方法名加前缀,如:
NSString+ABC_HTTP.h
- (void)abc_urlScreame;

第26讲 勿在分类中声明属性

声明属性需要自己写setter和getter方法。

第27条 使用 “class-continuation分类”隐藏实现细节

oc的动态消息系统决定了类中没有真正的私有变量和私有方法。
这里说的 class-continuation分类 其实就是.m文件里定义的 extension,如下图。可以在里定义方法和实例变量,为啥能定义这些,查看第6条(稳固的ABI)。

第28条 通过协议提供匿名对象

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容