类簇是在Objective-C中Foundation Framework中广泛使用的一种设计模式

1.发现类簇(Class Cluster)的踪迹###

    //*> 执行下面代码
id obj1 = [NSMutableArray alloc];
id obj2 = [NSArray alloc];
id obj3 = @[@"1",@2];
id obj4 = [[NSArray alloc] init];
id obj5 = [[NSArray alloc] initWithObjects:@"obj1",@"obj2", nil];
id obj6 = [[NSArray alloc] initWithArray:obj5];
id obj7 = @[@"1",@"2"].mutableCopy;
id obj8 = [[NSMutableArray alloc] init];
id obj9 = [[NSMutableArray alloc] initWithArray:obj5];
id obj10 = [[NSMutableArray alloc] initWithObjects:@"1", nil]; NSLog(@"obj1%@",[obj1 class]);
NSLog(@"obj2%@",[obj2 class]);
NSLog(@"obj3%@",[obj3 class]);
NSLog(@"obj4%@",[obj4 class]);
NSLog(@"obj5%@",[obj5 class]);
NSLog(@"obj6%@",[obj6 class]);
NSLog(@"obj7%@",[obj7 class]);
NSLog(@"obj8%@",[obj8 class]);
NSLog(@"obj9%@",[obj9 class]);
NSLog(@"obj10%@",[obj10 class]); //*> 打印结果
/*
2016-03-24 11:35:17.516 测试1[1388:558109] obj1__NSPlaceholderArray
2016-03-24 11:35:17.516 测试1[1388:558109] obj2__NSPlaceholderArray
2016-03-24 11:35:17.516 测试1[1388:558109] obj3__NSArrayI
2016-03-24 11:35:17.516 测试1[1388:558109] obj4__NSArray0
2016-03-24 11:35:17.517 测试1[1388:558109] obj5__NSArrayI
2016-03-24 11:35:17.517 测试1[1388:558109] obj6__NSArrayI
2016-03-24 11:35:17.517 测试1[1388:558109] obj7__NSArrayM
2016-03-24 11:35:17.517 测试1[1388:558109] obj8__NSArrayM
2016-03-24 11:35:17.517 测试1[1388:558109] obj9__NSArrayM
2016-03-24 11:35:17.517 测试1[1388:558109] obj10__NSArrayM 说明:__NSPlaceholderArray、NSArrayI、NSArray0和NSArrayM分别都是NSArray,NSMutableArray的私有类。
*/

iOS - 类簇的更多相关文章

  1. iOS开发-类簇(Class Cluster)

    类簇(Class  Cluster)是定义相同的接口并提供相同功能的一组类的集合,仅公开接口的抽象类也可以称之为类簇的公共类,每个具体类的接口有公共类的接口抽象化,并隐藏在簇的内部.这些类一般不能够直 ...

  2. IOS 杂笔-1(为什么不继承类簇?)

    答:首先,类簇是可以继承的,并不是不可以.例如,我们可以选择继承NSSting,但是此时你用你自己设定的类去调用NSSting的一些方法时,会存在无法实现的问题,这是为什么呢. 1.类簇里有很多私有的 ...

  3. iOS之NSArray类簇简介-(copy、mutableCopy导致程序crash)

    1.前言 开发时常常用数组对数据进行处理,对NSMutableArray进行操作时经常导致程序崩溃,特研究一下NSArray的类簇!涉及__NSPlaceholderArray.__NSArray0. ...

  4. OC 类簇与复合

    OC 类簇与复合 类簇: 类簇是Foundation框架中广泛使用的设计模式.类簇将一些私有的.具体的子类组合在一个公共的.抽象的超类下面,以这种方法来组织类可以简化一个面向对象框架的公开架构,而又不 ...

  5. KMeans聚类 K值以及初始类簇中心点的选取 转

    本文主要基于Anand Rajaraman和Jeffrey David Ullman合著,王斌翻译的<大数据-互联网大规模数据挖掘与分布式处理>一书. KMeans算法是最常用的聚类算法, ...

  6. 从零开始学C++之IO流类库(四):输出流格式化(以操纵子方式格式化 以ios类成员函数方式格式化)

    一.以操纵子方式格式化 数据输入输出的格式控制使用系统头文件<iomanip>中提供的操纵符.把它们作为插入操作符<<的输出对象即可.如setiosflags.setw.set ...

  7. Objective-C 类簇深入理解

    类簇(class cluster),是一种基于抽象工厂的设计模式,广泛运用于系统的Foundation框架.顾名思义,即一坨类,这里指的是继承自同一父类的一组私有子类.这种实现既可以简化公共接口,又保 ...

  8. Air test ios类使用

    1.iOS手机的滑动 相关代码 #python class IOS(Device): ... @property #获取屏幕的尺寸 def display_info(self): if not sel ...

  9. 输出流格式化(以操纵子方式格式化,以ios类成员函数方式格式化)

    一.以操纵子方式格式化 数据输入输出的格式控制使用系统头文件<iomanip>中提供的操纵符.把它们作为插入操作符<<的输出对象即可.如setiosflags.setw.set ...

随机推荐

  1. ArcEngine选中面要素样式修改

    //只用前五行,可以直接将选中的面要素的颜色全部修改成红色,也就是填充颜色 IRgbColor pRgbColor= new RgbColor();; pRgbColor.Red = ; pRgbCo ...

  2. 半平面交模板(BZOJ1007)

    #include<cstdio> #include<algorithm> #define LDB long double using namespace std; ]; str ...

  3. 个人知识管理系统Version1.0开发记录(01)

    架 构 描 述 01.数据层,数据源,有形资源入库,无形资源整理,对外搜索引擎,对内平台搜索,数据类型(文字.图片.声音.视频.组合),数据时空优化,数据安全方案(数据进站关卡,数据出战关卡),数据并 ...

  4. java web 100个知识点

    http://wenku.baidu.com/link?url=ns5SvKesJSLzpcTckBKsFopqgbC6O0XBuVBS1BZwtJbK1P-aYbNV3fVOU9lYTbGQwKYK ...

  5. 【Python】[函数] 函数的参数与递归函数

    一.函数的参数1.位置参数2.默认参数 n就是默认参数 def power(x,n=2): s=1 while n > 0: n = n - 1 s = s * x return s 默认参数有 ...

  6. 4-pwd 打印当前工作目录

    pwd print name of current/working directory 打印当前工作目录 [语法]: pwd [选项] [参数] [功能介绍] pwd命令以绝对路径的方式显示用户当前工 ...

  7. 如何在word中的第3+n页处插入页面并重新从1开始

    在插入页码时有时可能会遇到这种情况: word的第一页是文档名称 第二页是目录 第三页才开始是正文,而我们希望看到页码从第三页开始才是第1页. 在第三页的开头,插入分隔符“下一页”,如果office2 ...

  8. logstash 配置文件实例

    这个配置文件记不起来是从那个地方下载的来的了,感谢那位无私的朋友 input {  beats {            #shipper 端用的是 filebeat,所以用这个插件     port ...

  9. Chrome开发工具Elements面板(编辑DOM和CSS样式)详解

    Element 译为“元素”,Element 面板可以让我们动态查看和编辑DOM节点和CSS样式表,并且立即生效,避免了频繁切换浏览器和编辑器的麻烦. 我们可以使用Element面板来查看源代码,它不 ...

  10. git 高级命令

    git bisect 运行git bisect 通常是为了找出某个导致版本库产生倒退或bug的特殊提交 例如:你的版本库已经从一个已知的"好"状态过渡到一个已知的"坏&q ...