CCDictionary

翻译 2015年02月09日 18:22:02


简介

CCDirtionary使用UTHash实现的。老版本的CCMutableDictionary使用STL实现,但是已经被移除了。而且CCDictionary也是最近才被添加进来的。由于CCDictionary没有使用C++的模板特性了,因此可以轻松的绑定到script。

关键字类型

CCDictionary支持两种类型的关键字,一个是std::string,一个是int。一个CCDictionary实例对象只支持唯一的关键字。所以在你调用“setObject”方法的时候,你需要确认一下。

遍历

我们移除了之前使用beginendnext来遍历整个字典的方法。现在我们实现了CCDICT_FOREACH方法来遍历整个字典。而且使用CCDICT_FOREACH的方式和使用CCARRAY_FOREACH的方式非常类似。

下面代码就是举例说明怎么样遍历CCDictionary:

    CCDictElement* pElement = NULL;

    CCDICT_FOREACH(theDict, pElement)
    {
        CCObjectSubClass* pSubClassObj = (CCObjectSubClass*)pElement->getObject();
        // 你也可以得到当前key,但是你需要确定key的类型。
        std::string oneStrKey = pElement->getStrKey(); // 假如key的类型是string
        // int oneIntKey = pElement->getIntKey(); // 假如有key的类型是integer

        // 下面就可以使用上面.pSubClassObj对象做一些操作了

    }

CCDictionary::allkeys的方法被保留了,你也可以使用这个来遍历整个字典,但是我们强烈不建议你这样做。因为CCDICT_FOREACH的性能比使用allkeys的方法好很多。假如你想要在lua中遍历整个CCDictionary,你就不能使用CCDICT_FOREACH宏了,这种情况下,就只有使用老办法了。

相关文章推荐

【玩转cocos2d-x之二十六】数据结构CCDictionary

CCDictionary在cocos2d-x中被大量的应用,比如CCTexureCache,CCSpriteFramCache等等。 1.实现原理 1.1.uthash CCDiction...

Cocos2d-x中的词典类CCDictionary深入分析

[Cocos2d-x相关教程来源于红孩儿的游戏编程之路 CSDN博客地址:http://blog.csdn.net/honghaier]   红孩儿Cocos2d-X学习园地QQ群:249941...

【Pia开发日记】cocos2d-x CCDictionary allKeys用法

CCArray* CCDictionary::allKeys() { //取得词汇的数量 int iKeyCount = this->count(); if (iKeyCoun...

CCDictionary jsb 绑定返回

CCDictionary详解

#ifndef __CCDICTIONARY_H__#define __CCDICTIONARY_H__//需要哈希表的支持#include "support/data_support/uthash....

CCDictionary的基本使用方法

这篇博文中简单的讲解了CCDictionary的基本使用方法,及其相关成员函数使用时的注意点,对于初次接触此类的读者还是很有帮助的! 【转载自偶尔e网事】:http://blog.c...

cocos2dx-实现CCDictionary的hash库uthash详解

uthash详解CCDictionary底层用的是uthash,追踪CCDictionary的接口,查看CCDictionary是如何利用uthash的接口的,以及uthash是怎么实现的。 下面是...

CCDictionary中objectForKey和valueForKey的区别

在群里碰到一个好友问他写了如下代码,为什么打印出来结果为:#######dict count:0################(其实不一定是0,只是他的机器恰好显示为0),因此他怀疑是不是CCDic...

CCDictionary 解析xml总结

转自:http://blog.csdn.net/jalen_yuchi/article/details/8617348 先新建一个cocos2dx的工程 HelloWorldS...

cocos2d-X 节点(CCDictionary)API

本文来自http://blog.csdn.net/runaying ,引用必须注明出处! cocos2d-X 节点(CCDictionary)API ///\cocos2d-x-3.0alph...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)