2

我目前在将 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 不是一种选择。

如果有人遇到过这样的问题并且可以指出我正确的方向,请这样做。

谢谢 !

4

0 回答 0