Advertisement

Objective-C扩展说明(Extension)

阅读量:

在前文中对Objective-C框架中的Category类进行了深入剖析,《Objective-C——类别(Category)详解》一文详细阐述了这一主题。此外, 扩展与分类之间极为相近,今天我们将深入探讨扩展的相关内容.该源代码文件可在此GitHub存储库中下载:https://github.com/chenyufeng1991/Objective-C_Extension

在Objective-C 2.0版本中增加Extension即给一个类添加额外的方法或属性,并且这些新增的方法和属性都是私有的。同时我们常将Extension视为anonymous的Category。通过在.m文件中声明private方法是一种非常有效的方式进行类别扩展。类别扩展所声明的方法与直接在类中声明的方法完全一致,并且需要在其对应的@implementation文件中进行实现;这些方法仅限于该特定类内部可见,在外部无法被访问到

我们来简单区分一下Category类别和Extension扩展的区别:

从某个类中新建一个新的Category对象时将会创建两个特定格式的二进制文件:一个是带有.h后缀的分类目录文件(即"类名称+Category名称".h),另一个是带有.m后缀的元数据目录文件(即"类名称+Category名称".m)。而在这种情况下新建一个Extension对象则仅会创建一个扩展类型

全部评论 (0)

还没有任何评论哟~