Cocos2dx学习笔记35 CCArray使用注意事项
在CCArray的头文件中定义了很多宏 (1)CCARRAY_FOREACH和CCARRAY_FOREACH_REVERSE CCARRAY_FOREACH:从第一个元素开始遍历,如果要删除某个元素,后面的项往前移动,而该元素有两个一样的连续元素,那么第二个就被忽略掉,没有被处理。结果异常。 CCARRAY_FOREACH_REVERSE:从最后一个元素开始遍历,如果要删除某个元素,结果正常。 (2)#define arrayMakeObjectsPerformSelector(pArray,func,elementType) 让数组中所有元素去执行某一个函数 (3)#define arrayMakeObjectsPerformSelectorWithObject(pArray,pObject,elementType) 让数组中所有元素去执行某一个函数,带参数
原文:http://blog.csdn.net/huanghuanghbc/article/details/25335369
1.API1.1.创建
1.2.添加
6
|
//添加一个元素
void
addObject(CCObject* object);
//添加一个已存在array中所有元素
addObjectsFromArray(CCArray* otherArray);
//在指定位置插入元素
insertObject(CCObject* object,unsigned
index);
|
1.3.删除
removeLastObject(
bool
bReleaSEObj =
true
);
//移除某个元素
removeObject(CCObject* object,
);
//移除一个指定位置的元素
removeObjectAtIndex(unsigned
index,monospace!important; font-size:1em!important; min-height:inherit!important">);
//移除某个array
removeObjectsInArray(CCArray* otherArray);
//移除所有元素
removeAllObjects();
//快速移除某个元素
fastRemoveObject(CCObject* object);
//快速移除某个指定位置的元素
fastRemoveObjectAtIndex(unsigned
1.4.操作元素
14
15
16
unsigned
count()
const
;
//返回array容量
capacity()
;
//返回指定CCObject的位置,如果不存在返回UINT_MAX
indexOfObject(CCObject* object)
;
//返回指定位置的CCObject
CCObject* objectAtIndex(unsigned
index);
//返回最后一个元素
CCObject* lastObject();
//返回随机元素
CCObject* randomObject();
//返回某个元素是否存在于array中
containsObject(CCObject* object)
;
//判断array是否相等
isEqualToArray(CCArray* pOtherArray);
1.5.操作array内容
exchangeObject(CCObject* object1,CCObject* object2);
//交换2个指定位置元素
exchangeObjectAtIndex(unsigned
index1,monospace!important; font-size:1em!important; min-height:inherit!important">index2);
//用一个对象替代指定位置元素
replaceObjectAtIndex(unsigned
uIndex,CCObject* pObject,monospace!important; font-size:1em!important; min-height:inherit!important">bReleaSEObject =
//反转array
reverSEObjects();
//收缩array内存以匹配元素个数
reduceMemoryFootprint();