美文网首页
iOS 中的类簇

iOS 中的类簇

作者: lixiaoshuai | 来源:发表于2017-07-22 19:11 被阅读95次

类簇的定义

类簇(Class Cluster)是定义相同的接口并提供相同功能的一组类的集合,仅公开接口的抽象类也可以称之为类簇的公共类,每个具体类的接口有公共类的接口抽象化,并隐藏在簇的内部。
是基于抽象工厂模式在OC中应用。

类簇的目的

更加方便的初始化出一个类的实例对象。

iOS中应用了类簇设计的类

NSNumber,NSArray,NSDictionary,NSSet,NSTextStorage,(其他的暂时不知道)

对NSNumber实现的猜测

NSNumber是解决基本数据类型,结构体转化对象的一种解决方案。对于这个转化而言,如果每一个数据类型都对应一个转化后的类对象,会造成转化的类过多,使用不便的问题。对于NSNumber的使用,关注的是他的使用结果,而非过程。因此,可将每一个基本数据类型,结构体转化后的类都放在一个文件中,使其均继承一个公共的父类。由父类暴露出功能接口,在对应的实现中,通过每一个具体的子类进行实现。NSArray 看类簇的实现
其中对NSArray和NSMutableArray的猜测如下,两者调用alloc方法后,均返回一个__NSPlaceholderArray的对象。其在调用init方法,由他判断是NSArray或是NSMutableArray,生成对应的对象。(判断方式通过alloc方法中的静态变量的地址)PS:所有的初始化的内容为空的不可变数组,其均指向NSArray的alloc方法中的静态变量。

自定义类簇的公共类的子类,需要重写该公共类的许多方法

由于该公共类中的多数方法的实现均是通过其私有子类完成。因此,需要自定义的子类重写该类的许多方法。

相关文章

  • iOS 中的类簇

    类簇的定义 类簇(Class Cluster)是定义相同的接口并提供相同功能的一组类的集合,仅公开接口的抽象类也...

  • iOS中类簇的使用

    这篇文章由很多平时的笔记积攒而成,看起来会有些杂乱,会有很多需要改进的地方,希望发现问题的朋友不吝赐教。 类簇 类...

  • 类簇

    类簇在iOS中是一种非常实用的模式,例如:NSArray, NSDictionary等。 那么类簇有哪些特点了: ...

  • iOS类簇

    IOS 类簇 类簇(class cluster)是一种设计模式,在Foundation Framework中被广泛...

  • iOS 类簇

    iOS 类簇 Person.h Person.m TestCode 打印结果2021-07-14 14:19:16...

  • 设计模式

    设计模式: 类簇 在iOS的Foundation框架中,类簇是一种常用的设计模式,将一些相近的,私有的,具体的子类...

  • iOS 类族(类簇)

    什么是类族 "类族"是一种很有用的模式(pattern),可以隐藏"抽象基类"背后的实现细节.比如UIKit框架中...

  • iOS日记2-iOS中的类簇

    1.参考资料 《Effective Objective-C 2.0 编写高质量iOS与OS X代码的52个有效方...

  • iOS开发 - 类簇

    因此,直接alloc可能造成程序奔溃.比如比如 NSNotification *notif = [[NSNotif...

  • 关于类簇

    在ios中,比如NSString,NSArray, NSNumber 这些都是类簇,大概就是说,他们在alloc的...

网友评论

      本文标题:iOS 中的类簇

      本文链接:https://www.haomeiwen.com/subject/lniukxtx.html