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

原创 2013年11月27日 16:46:40

CCArray* CCDictionary::allKeys()
{
    //取得词汇的数量
    int iKeyCount = this->count();
    if (iKeyCount <= 0) return NULL;
    //创建一个iKeyCount大小的CCArray
    CCArray* pArray = CCArray::createWithCapacity(iKeyCount);
    //定义临时词汇指针变量。
    CCDictElement *pElement, *tmp;
    if (m_eDictType == kCCDictStr)
    {    //如果当前词典查询类型是通过名称字符串。
        //遍历所有词汇。
        HASH_ITER(hh, m_pElements, pElement, tmp) 
        {
            //取得每一个词汇的名称字符串放入CCArray中。
            CCString* pOneKey = new CCString(pElement->m_szKey);
            pOneKey->autorelease();
            pArray->addObject(pOneKey);
        }
    }
    else if (m_eDictType == kCCDictInt)
    {    //如果当前词典查询类型是通过索引。
        //遍历所有词汇。

        HASH_ITER(hh, m_pElements, pElement, tmp) 
        {
            //取得每一个词汇的名称字符串放入CCArray中。
            CCInteger* pOneKey = new CCInteger(pElement->m_iKey);
            pOneKey->autorelease();
            pArray->addObject(pOneKey);
        }
    }
    
    return pArray;
}
以上为CCDictionary::allKeys(源码),由

            CCString* pOneKey = new CCString(pElement->m_szKey);
            pOneKey->autorelease();
            pArray->addObject(pOneKey);
            CCInteger* pOneKey = new CCInteger(pElement->m_iKey);
            pOneKey->autorelease();
            pArray->addObject(pOneKey);

可知,可以将键值强制类型转换成CCString 或者CCInteger

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

CCDictionary在cocos2d-x中被大量的应用,比如CCTexureCache,CCSpriteFramCache等等。 1.实现原理 1.1.uthash CCDiction...
  • jackyvincefu
  • jackyvincefu
  • 2013年11月26日 08:47
  • 8963

【Pia开发日记】Json&&Post开发Demo

#include "JsonBox.h" #include"CurlUtils.h" map a; a["api"]="download_user_data"; a["user_id"]=Uti...
  • kelvict
  • kelvict
  • 2013年11月23日 00:00
  • 718

Office PIA:关于Office PIA应用程序的部署

基于Office PIA的应用程序,要想在客户的电脑上顺利地运行起来,可以有这几种办法: 方法一:让客户在安装Office的时候顺便安装“.Net可编程性支持”(.Net Programma...
  • XinYaping
  • XinYaping
  • 2012年03月14日 14:19
  • 9169

iOS: NSDictionary的方法allKeys

- (NSArray *)allKeys
  • u011275873
  • u011275873
  • 2013年08月03日 08:47
  • 1324

CCDictionary 遍历

 一。遍历主键元素 const char* testPlistPath = "Config\\hero_list.plist";  CCDictionary* plistDic = CCDi...
  • zhanghefu
  • zhanghefu
  • 2014年03月15日 14:17
  • 2647

当Office PIA遭遇C# 4.0

上回书说到,最近我在写一个Office PIA的程序。我先是写了一个独立的小工程,完美地实现了对Excel Workbook的各种操作,并且也反复作了测试。然后往我们真实的项目里合并。这里有个伏笔:我...
  • XinYaping
  • XinYaping
  • 2012年02月13日 17:05
  • 2509

cocos2d-X 节点(CCDictionary)API

本文来自http://blog.csdn.net/runaying ,引用必须注明出处! cocos2d-X 节点(CCDictionary)API ///\cocos2d-x-3.0alph...
  • runaying
  • runaying
  • 2013年11月07日 18:33
  • 1410

【Pia开发日记】schedule_selector中的this指针

schedule_selector中的this指针是调用schedule/scheduleOnce的对象的指针。 void RoleLayer::createSpark(int positionX,...
  • kelvict
  • kelvict
  • 2013年12月09日 02:55
  • 854

CCDictionary基础用法

CCDictionary在cocos2d-x中被大量的应用,比如CCTexureCache,CCSpriteFramCache等等。 1.实现原理 1.1.utha...
  • qq_28180261
  • qq_28180261
  • 2016年11月28日 14:01
  • 88

SOLOT开发日记(三)

看看上次写开发日记的时间是11月5日,竟然有25天过去了,真是惭愧。这段时间,除了为来北京的诸多烦心事儿奔波,就是在单位做那个大而虚的项目了。还好经过一个星期的努力,一起都已经走上了正规。上下班的车也...
  • bestwolf1983
  • bestwolf1983
  • 2007年11月30日 22:41
  • 717
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:【Pia开发日记】cocos2d-x CCDictionary allKeys用法
举报原因:
原因补充:

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