ios 1 cocoa
生活随笔
收集整理的這篇文章主要介紹了
ios 1 cocoa
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
CDataVisitor.h.cpp visitor模式實(shí)現(xiàn)的觀察CObject內(nèi)部數(shù)據(jù)成員的類。
其中CCDataVisitor是個(gè)虛基類; 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() 函數(shù) 一般都是 Obj *o = new Obj; o->init(); o->autorelease();//加入自動(dòng)釋放池、在釋放池關(guān)閉時(shí), 會(huì)逐個(gè)對(duì)其中obj的引用計(jì)數(shù)減去1、到達(dá)0時(shí)delete對(duì)象。 不需要在外部主動(dòng)釋放。
Bool Double Float Integer : 初始化和取值接口; 不能被修改; create && acceptVisitor
CCString封裝了std::string, 支持向其他基本類型的轉(zhuǎn)化
CCSet 封裝了std::set, 拷貝構(gòu)造和mutableCopy都是淺復(fù)制。【子對(duì)象的引用計(jì)數(shù)+1】
CCArray, 封裝了類似vector操作的結(jié)構(gòu)體
typedef struct _ccArray { unsigned int num, max; CCObject** arr; } ccArray;
CCDictionary 自己new的數(shù)組+hash模擬的key-value
CCGeometry, 封裝了CCPoint、CCSize、CCRect
CCNS,封裝幾個(gè)有用的接口, 從字符串轉(zhuǎn)為CCPoint, CCSize, CCRect
CCZone nothing...
CCAffineTransform 仿射變換
============================
有些容器類型的數(shù)據(jù)結(jié)構(gòu), 向其中addobject時(shí), 會(huì)給該object的引用計(jì)數(shù)+1.
目前只看到三個(gè)最基本的容器類型: CCSet 和 CCArray 和 CCDictionary。
總結(jié)
以上是生活随笔為你收集整理的ios 1 cocoa的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: objective c 语法
- 下一篇: redis lua