[cocos2d-x] CCArray使用注意

来源:互联网 发布:余文乐潮牌有淘宝店吗 编辑:程序博客网 时间:2024/05/16 05:03

在cocos2d-x中创建一个类初始化时候创建其变量CCArray,添加2个CCArray作为内容。

if (!alliesOfTeams || alliesOfTeams->count() <= 0) {        alliesOfTeams = CCArray::create(CCArray::create(),CCArray::create(),NULL);        CCLOG("allies of teams count = %d",alliesOfTeams->count());    }

然后当其他地方调用这个alliesOfTeams->count()时候报错了。


后来发现,CCArray跟Objectiv-c中的NSArray是类似的,但objc有自动释放机制,也就是引用情况会自动retain,但cocos2dx是没有这样的机制的。我们需要创建时候retain一下,保证方法返回时候没有被释放掉

if (!alliesOfTeams || alliesOfTeams->count() <= 0) {        alliesOfTeams = CCArray::create(CCArray::create(),CCArray::create(),NULL);        alliesOfTeams->retain();        CCLOG("allies of teams count = %d",alliesOfTeams->count());    }


原创粉丝点击