我正在将cocos2d与UIKit混合时遇到一些奇怪的行为。 我一直在跟踪僵尸,它总是过度发布,触发崩溃。 现在我知道这是模糊的,所以我将在使用本机uikit对象时详细描述这种情况。
我有这段代码:
//我创建了一个新的UIActivityViewController并将其呈现在我的appDelegate viewController上
self.activityViewController = [[UIActivityViewController alloc] initWithActivityItems:[NSArray arrayWithObjects:tempImage, nil]
applicationActivities:nil];
[[appDelegate viewController] presentViewController:self.activityViewController
animated:YES
completion:nil];
我第一次称它为有效,viewController出现了,我可以解雇。我第二次尝试创建一个新的ActivityController时崩溃了。
现在,在删除UIViewController子类,然后启动包含UIKit元素的CCDirector时,情况似乎也是如此。奇怪的是,我在第一个UIViewController的属性上得到了过度释放,当我没有切换到cocos2D场景时,我没有。
我在使用ARC的项目中运行cocos2D,不使用ARC不是一种选择。
如果有人遇到这样的问题并且可以指出我正确的方向,请做。
谢谢!