关于2.2.1版本中setMovementEventCallFunc函数的问题

在2.2.0版本中这个函数是这样的

void CCArmatureAnimation::setMovementEventCallFunc(CCObject *target, SEL_MovementEventCallFunc callFunc)
{
if (target != m_sMovementEventTarget)
{
CC_SAFE_RETAIN(target);
CC_SAFE_RELEASE_NULL(m_sMovementEventTarget);
m_sMovementEventTarget = target;
}
m_sMovementEventCallFunc = callFunc;
}

而2.2.1版本中这个函数是这样的
void CCArmatureAnimation::setMovementEventCallFunc(CCObject *target, SEL_MovementEventCallFunc callFunc)
{
m_sMovementEventTarget = target;
m_sMovementEventCallFunc = callFunc;
}

显然2.2.0版本的更合理啊,它能避免target被提前释放掉。~~
那么为什么要把这个函数改掉呢??

这个问题我记下了,等周一的时候我找人给你一个解释:2::2::2:

好的呀:2::2::2:

版主,有人来解释了吗?

如果继承了CCArmature,并且设置target为自身的话,那么这个对象将会释放不掉。

嗯对,。但这样不就限制了程序的灵活性了?