——人类最倚重的是自己的“以往经验”。——

我们直接看一下在corePlot 类库和iOS自带类中为一个控件设置文本显示格式的实现。

  * corePlot 类库中,为一个对象设置标题显示格式

//创建一个“图表坐标系”  (估且称它为一个控件吧)
CPTXYGraph *graph3gL = [[ CPTXYGraph alloc ] initWithFrame:CGRectMake(, , , )]; //自定义“图表标题”的格式
CPTMutableTextStyle*textStyleTitle=[CPTMutableTextStyle textStyle];
textStyleTitle.color=[CPTColor blackColor];
textStyleTitle.fontSize=; graph3gL.title = @"测试用图表";
graph3gL.titleTextStyle = textStyleTitle; //设置 CPGraph 标题 的格式

         *ios 自带类库 为一个对象设置标题显示格式

UIButton *button = [[UIButton alloc]init];
button.titleLabel.text = @"测试用按钮";
button.titleLabel.textColor = [UIColor redColor];
button.titleLabel.font = [UIFont systemFontOfSize:14.0f];

我们看到,在corePlot类库中,设置控件标题格式的代码并没有写成如下形式:

graph3gL.titleTextStyle.font = 14.0f;      (两个 .  访问符)

而是写成了如下形式:

graph3gL.titleTextStyle = textStyleTitle;    (一个 . 访问符)

我们corePlot 的这种模式,称为“浅一层次的封装”,这种模式要求我们,在给一个对象赋予一个属性时,你很可能需要创建一个相应的“属性对象”(如上例所示,你需要创建一个 textStyleTitle 对象)。

corePlot 类库使用的这种模式,在很多开源项目中都有使用,了解这个特点后,我们在阅读开源项目时,可能会更佳轻松。

最新文章

  1. C# 对多个文件进行zip压缩
  2. 简单测试nginx1.90做TCP协议负载均衡的功能
  3. linux网络编程 no route to host 解决方案
  4. Stream篇
  5. C++之路进阶——codevs1362(网络扩容)
  6. HTTP请求之:PHP函数header常用功能
  7. mina2
  8. oracle包概述(一)【weber出品】
  9. SEO策略与细节:细节决定成败
  10. 推荐免费的svn空间
  11. Struts2+Spring+Hibernate+Jbpm技术实现Oa(Office Automation)办公系统第一天框架搭建
  12. Math.round(11.5)等于多少? Math.round(-11.5)等于多少?
  13. 关于vue-axios的post方式,后台无法解析传参问题
  14. mysql数据类型(三)
  15. BIOS备忘录之IIC(touchpad)设备
  16. 深入理解USB流量数据包的抓取与分析
  17. C++ Primer笔记 容器和算法(2)
  18. BMP、GIF、JPEG、PNG以及其它图片格式简单介绍
  19. VMware虚拟机更换根用户( su: Authentication failure问题)
  20. Google大牛分享的面试秘籍

热门文章

  1. Linux学习笔记:vi常用命令
  2. java正则表达式(转)
  3. HTML标签列表总览
  4. echarts3.0 本期累计堆叠
  5. jenkins发邮件问题
  6. win划分磁盘
  7. 黑马程序员_java基础笔记(11)...反射
  8. Java去重字符串的两种方法以及java中冒号的使用
  9. Xiaoguang Tu's Home Page
  10. Python 入门之基本数据类型