CDataVisitor.h.cpp visitor模式实现的观察CObject内部数据成员的类。
其中CCDataVisitor是个虚基类; CCPrettyPrinter是 层次化打印 CObject成员的类。
obj->acceptVisitor(v);
CDataVisitor::acceptVisitor(v) { v.visitObj(obj); }
CCPrettyPrinter::acceptVisitor(v) { v.visit(this); }
void CCPrettyPrinter::visit(const CCBool * p)
{
char buf[50] = {0};
sprintf(buf, "%s", p->getValue() ? "true" : "false");
_result += buf;
}
类的 static create() 函数 一般都是
Obj *o = new Obj;
o->init();
o->autorelease();//加入自动释放池、在释放池关闭时, 会逐个对其中obj的引用计数减去1、到达0时delete对象。
不需要在外部主动释放。
Bool Double Float Integer : 初始化和取值接口; 不能被修改; create && acceptVisitor
CCString封装了std::string, 支持向其他基本类型的转化
CCSet 封装了std::set, 拷贝构造和mutableCopy都是浅复制。【子对象的引用计数+1】
CCArray, 封装了类似vector操作的结构体
typedef struct _ccArray {
unsigned int num, max;
CCObject** arr;
} ccArray;
CCDictionary 自己new的数组+hash模拟的key-value
CCGeometry, 封装了CCPoint、CCSize、CCRect
CCNS,封装几个有用的接口, 从字符串转为CCPoint, CCSize, CCRect
CCZone nothing...
CCAffineTransform 仿射变换
============================
有些容器类型的数据结构, 向其中addobject时, 会给该object的引用计数+1.
目前只看到三个最基本的容器类型: CCSet 和 CCArray 和 CCDictionary。

ios 1 cocoa相关推荐

  1. IOS的 Cocoa Touch Static Library制作

    这个是上次在做支付宝插件支付时候看到的. 支付宝虽然最后还是通过URL_Scheme跳转,但是有部分加密验签以及数据处理是通过一个客户端插件添加到我们的应用中的. 对于静态库和动态库的一些概念就暂不啰 ...

  2. 【iOS】Cocoa(iOS,OSX)安保系统设计实现

    前言 这里主要以iOS和OSX讲讲crash闪退怎么防御. 其中最新的OSX应用本身就有一定闪退防御,但有点类似@try @catch在最外层包了一下普通的越界调用空方法都会中断在操作位置不向下执行, ...

  3. iOS常用动画 类封装

    //这是一个很好的动画封装类 很容易明白很详细 和大家分享 // CoreAnimationEffect.h // CoreAnimationEffect // // Created by Vince ...

  4. 多年iOS开发经验总结(一)

    为什么80%的码农都做不了架构师?>>>    http://www.jianshu.com/p/1ff9e44ccc78 总结了几个月的东西终于能和大家分享了,不多说,直接看东西! ...

  5. Beginning IOS 7 Development Exploring the IOS SDK - Handling Basic Interface Fun

    Beginning IOS 7 Development Exploring the IOS SDK 目前使用的是Objective-C,用这本书,简单记录一下 第一章,图书简介 第二章,简要介绍使用x ...

  6. [Cocoa]深入浅出Cocoa之多线程NSThread

    深入浅出Cocoa之多线程NSThread 罗朝辉 (http://www.cnblogs.com/kesalin/) 本文遵循"署名-非商业用途-保持一致"创作公用协议 iOS ...

  7. iOS 6上的Safari是否缓存$ .ajax结果?

    本文翻译自:Is Safari on iOS 6 caching $.ajax results? Since the upgrade to iOS 6, we are seeing Safari's ...

  8. 【 iOS 应用开发 】 UIKit 控件 ( 代码生成控件 | UIView 属性方法 | Storyboard | Bundle | Property List | 动画 | 图片内存优化 )

    文章目录 一. 代码生成控件 1. 创建设置项目 ( 1 ) 创建项目 ( ① 选择 Create a new Xcode project | ② 创建 Single View Application ...

  9. 【深入学习iOS开发(五)】Archive(归档)

    Archive(归档) Archives provide a means to convert objects and values into an architecture-independent ...

最新文章

  1. mybatis-spring 集成
  2. 什么是设计模式(Design Patterns)
  3. java之上三角矩阵_7-1 判断上三角矩阵
  4. 对速度的需求,访问现有数据的速度提高了1000倍
  5. asp.net 实现一级域名与二级域名共享COOKIE
  6. sql server数据表转换成xml
  7. 解决Eclipse,MyEclipse出现An error has occurred,See error log for more details的错误
  8. MongoDB多条件分组聚合查询
  9. python创建类的实例化_在C中实例化python类#
  10. python练手经典100例-Python入门练手100例
  11. webstorm主题网址
  12. html中表格整体居中,html中怎么把表格居中
  13. 安装linux ubuntu11系统时,应该如何选择键盘布局,在ubuntu上创建新键盘布局需要哪些步骤?...
  14. OCP、Avalon、Wishbone、IBM Core Connect
  15. JAVA——JAVA知识点集锦(上)
  16. 2星|稻盛和夫《经营十二条》:内容太水,看目录就可以了
  17. photoshop使用笔记-制作古代印章
  18. 计算机系大二学期计划范文,大二学期学习计划范文6篇
  19. J-Link 安装和配置
  20. 本体开发日记03-理解代码

热门文章

  1. 伪共享(false sharing),并发编程无声的性能杀手
  2. Vue.js 事件处理
  3. 编码练习——Java-2-流程控制
  4. 被误解的MVC和被神化的MVVM
  5. 让latex写论文更方便的几个工具
  6. 高等数学:第十二章 微分方程(2)一阶线性非齐次微分方程、全微分方程、可降阶的微分方程
  7. Javascript编写的简易计算器
  8. 深度学习和浅层学习 Deep Learning and Shallow Learning
  9. 鸟哥的Linux私房菜(基础篇)- 附录 B: EXT2 / EXT3 文件系统
  10. 鸟哥的Linux私房菜(基础篇)- 第八章、Linux 磁盘与文件系统管理