有一个主类,我想添加一些其他层,当该层做一些动画时,当我同时需要该层的几个副本时问题就开始了。例如,我有一个做爆炸动画的图层,在当前主图层之上。如果每次我使用它,我都会复制它(实例分配),我将不得不在某个时候发布该副本,但我不能这样做:
explotionLayer *instance=[[explotion alloc]init];
[instance someFunction ];
[instance release];
因为这someFunction
需要时间,并且当它结束时,instance
正在执行其他一些功能 - 因此该实例之前无法释放。
我如何同时创建多个实例(在游戏期间),并以某种方式管理如何在正确的时间释放它们——仅当它们完成动画和所有其他任务时。
我知道我可以从那个实例回调到主层中的一个函数来释放它——但这不是一个很好的健壮方式。