以下是我需要做的事情......
-(unsigned int)doSomething
{
msg_id++;
//something need to be done after returning
//process
return msg_id;
}
[somebody doSomething];
现在流程是这样的:
somebody
名为doSomething
我想要的流程:
somebody
名为doSomething
somebody
doSomething
完成后,您可以让我这样做,但我无法更改此部分。我只能更改doSomething
方法。此外,一些解决方法建议是在X秒后调用延迟。但我担心延迟X秒后。因为我不知道返回msg_id
需要多少秒,实际上
还有更好的建议吗?
答案 0 :(得分:3)
CS101。 return
就是这么做的。它回来了。也许,您希望“进程”是在后台完成的,还是在单独的线程上完成的?你可能会看到这个:
-(unsigned int)doSomething
{
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0), ^{
//something need to be done after returning
//process
});
return msg_id;
}
无论如何,我认为你需要重新思考你的逻辑。