Cocos2d-x学习笔记
_Dictionary数据结构
_Dictionary类是模仿Objective-C中的NSDictionay类而设计的,通过引用计数管理内存。 _Dictionary继承于Ref类,因此它所能容纳的是Ref及子类所创建的指针。
创建_Dictionary对象
static _Dictionary * create
:创建_Dictionary。static _Dictionary * createWithDictionary(_Dictionary * srcDict)
:用一个已经存在的_Dictionary 来创建另一个新的 _Dictionary。static _Dictionary * createWithOfFile(const char * pFileName)
:从属性列表文件创建_Dictionary。
添加元素
向_Dictionary对象中添加元素必须是“键-值”对,“键”可以使字符串(std::string)类型或者整数(signed int)类型,而“值”必须是Ref和子类的对象指针类型。
void setObject(Ref * pObject, const std::stirng& key)
:插入一个“键-值”对,其中pObject是“值”,key是“键”。如果是第一次调用,_Dictionary的“键”类型是字符串类型,之后就不能插入整型”键“。如果已经存在该”键“,则旧“键-值”对会被释放和移除,被新的替代。void setObject(Ref * pObject, intptr_r key)
:插入一个“键-值”对,其中pObject是“值”,key是“键”,intprt_r类型是signed_int类型的别名。如果是第一次调用,_Dictionary的“键”类型是整型,之后就不能插入字符串类型“键”,如果已经存在该”键“,则旧“键-值”对会被释放和移除,被新的替代。
移除元素
void removeObjectForKey(const std::string& key)
:通过指定键移除元素。void removeObjectForKey(intptr_t key)
:通过指定键移除元素。void removeObjectForKeys(_Array *pKeyArray)
:通过一个_Array中键集合移除元素。void removeObjectForElement(DictElement * pElement)
:通过指定元素来移除。void removeAllObject()
:移除所有的元素。
查找元素
Ref * objectForKey(const std::string& key)
:返回指定字符串类型“键”的“值”。Ref * objectForKey(intptr_t key)
:返回指定整型“键”的“值”。- <