第四章数据结构-Dictionary

本文详细介绍了Cocos2d-x中的_Dictionary数据结构,包括如何创建、添加、移除和查找元素,以及其他操作和遍历方法。_Dictionary用于存储键值对,键可以是字符串或整数,值必须是Ref或其子类对象。通过 CCDICT_FOREACH 宏可以方便地遍历_Dictionary内容。
摘要由CSDN通过智能技术生成

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):返回指定整型“键”的“值”。
  • <
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值