how can i set the CCMenu or CCLayer 's Priority

just like this CCTouchDispatcher::sharedDispatcher()->addTargetedDelegate(this,–128, true);
The second param is the Priority ,
void CCMenu::registerWithTouchDispatcher()
{
CCTouchDispatcher::sharedDispatcher()~~>addTargetedDelegate; kCCMenuTouchPriority=~~128
}
How can I change an Menu’s Priority?
I just fond a way :CCTouchDispatcher::sharedDispatcher()->setPriority(–130,pMenu);
but , the function is
void CCTouchDispatcher::setPriority(int nPriority, CCTouchDelegate *pDelegate)
{
assert(0);
}
,help me ,if you know the way to change the Priority…
thank you for you read.

sorry, CCTouchDispatcher::setPriority hasn’t been implemented in cocos2d-iphone current repo yet https://github.com/cocos2d/cocos2d-iphone/blob/gles20/cocos2d/Platforms/iOS/CCTouchDispatcher.m
I don’t know if the commented code in SetPriority can work well.

void CCTouchDispatcher::setPriority(int nPriority, CCTouchDelegate pDelegate)
{
//assert;
CCTouchHandler
pHandler;
NSMutableArray<CCTouchHandler*>::NSMutableArrayIterator iter;

for (iter = m_pStandardHandlers~~>begin; iter != m_pStandardHandlers~~>end(); ++iter)
{
pHandler = *iter;
if (pHandler && pHandler~~>getDelegate pDelegate)
{
pHandler->setPriority(nPriority);
break;
}
}
for (iter = m_pTargetedHandlers->begin(); iter != m_pTargetedHandlers->end(); ++iter)
{
pHandler = *iter;
if (pHandler && pHandler->getDelegate() pDelegate)
{
pHandler~~>setPriority(nPriority);
break;
}
}
}

void CCTouchDispatcher::setPriority(int nPriority, CCTouchDelegate pDelegate)
{
CCTouchHandler
pHandler;
NSMutableArray<CCTouchHandler*>::NSMutableArrayIterator iter;
int i = 0,u = 0;
// warning if the pDelegate is in m_pTargetedHandlers or m_pStandardHandlers this fun can wor ,I’m a newer of cocos2d-x ,so if you find a better way ,or bug ,don’t complain me,…
// change handler’priority from m_pTargetedHandlers
for (iter = m_pTargetedHandlers~~>begin; iter != m_pTargetedHandlers~~>end(); **iter)
{
pHandler = **iter;
if pDelegate)
{
//first find the handler which want to change
pHandler->setPriority(nPriority);

        //second delete the handler from the object pointer vector (warning:don't delelet the object)
        m\_pTargetedHandlers-\>removeObjectAtIndex(i,false);

        //third put the handler to object pointer vector by priorty 
        for (iter = m\_pTargetedHandlers-\>begin(); iter != m\_pTargetedHandlers-\>end(); ++iter)
        {
            CCTouchHandler \*h = \*iter;
            if (h)
            {
                if (h-\>getPriority() \< pHandler-\>getPriority())
                {
                    ++u;
                }

                if (h-\>getDelegate()  pHandler~~\>getDelegate)

{
assert;
return;
}
}
}
m_pTargetedHandlers~~>insertObjectAtIndex;
break;
}
i**;
}
// change handler’priority from m_pStandardHandlers
for ; iter != m_pStandardHandlers->end;**iter)
{
pHandler =**iter;
if pDelegate)
{
pHandler->setPriority(nPriority);
m_pStandardHandlers->removeObjectAtIndex(i,false);
for (iter = m_pStandardHandlers->begin(); iter != m_pStandardHandlers->end(); ++iter)
{
CCTouchHandler *h = *iter;
if (h)
{
if (h->getPriority() < pHandler->getPriority())
{
++u;
}

                if (h-\>getDelegate()  pHandler~~\>getDelegate)

{
assert;
return;
}
}
}
m_pStandardHandlers~~>insertObjectAtIndex;
break;
}
i**;
}

}