从场景编辑器中读取节点失败,求指教

//scene为场景编辑器中获取得一个节点,要从这个节点中的16000子节点中获取其16100子节点中的所有子节点数组,然后再遍历这个数组的时候,有时候获取的最后一个节点是一个野指针
CCArray* array = this->scene->getChildByTag(16000)->getChildByTag(16100)->getChildren();
obj = NULL;
CCARRAY_FOREACH(array, obj)
{
    CCNode* node = (CCNode*)obj;
    Demon* demon = Demon::getDemon(1);
    demon->setSprite(node);//这里将获取的节点加入到demon,遍历到最后一个节点的时候是一个野指针,这里会报错
    demon->retain();
    demon->addBody(this, CCSizeMake(100, 100));
    
    static int j = 0;
    CCLog("time:%d tag:%d", j++, node->getTag() );
    this->demonAttackList.push_back(demon);
}

scene为场景编辑器中获取得一个节点,要从这个节点中的16000子节点中获取其16100子节点中的所有子节点数组,然后再遍历这个数组的时候,现在的情况是有时候获取的最后一个节点是一个野指针,而有时候是正常的,有高手遇到这种情况没?