ios 1 cocoa
生活随笔
收集整理的这篇文章主要介绍了
ios 1 cocoa
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
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的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: objective c 语法
- 下一篇: redis lua