void LayerMultiplex::switchToAndReleaseMe(int n)
{
CCASSERT( n < _layers.size(), “Invalid index in MultiplexLayer switchTo message” );
this->removeChild(_layers.at(_enabledLayer), true);
_layers.replace(_enabledLayer, nullptr);
_enabledLayer = n;
this->addChild(_layers.at(n));
}
replace方法第二个参数不能传递null
void replace(ssize_t index, T object)
{
CCASSERT(index >= 0 && index < size(), “Invalid index!”);
CCASSERT(object != nullptr, “The object should not be nullptr”);
_data->release();
_data = object;
object->retain();
}
~~~~~~~~~~~~