【问题标题】:Program crashed in iOS5 and normal in iOS4?程序在 iOS 5 中崩溃而在 iOS 4 中正常?
【发布时间】:2011-11-02 18:01:34
【问题描述】:

我的游戏是在 cocos2d 0.99.5 中创建的。我已经在 App Store 测试并发布了。

我的 iPhone 从 iOS4.3.3 更新到 iOS5.0 后,我的游戏经常崩溃。

* 由于未捕获的异常“NSGenericException”而终止应用程序,原因:“* 集合 <0x668a540>

标签: ios cocos2d-iphone ios5


【解决方案1】:

改变这一行

for ( Monster *mon in monsterArray )

for ( Monster *mon in [monsterArray copy] )

在使用快速枚举迭代数组时,不允许修改数组(正如评论中提到的 LearnCocos2D)。复制数组是在不更改代码逻辑的情况下解决此问题的最简单方法。

如果您不使用 ARC,则还需要在其中输入 autorelease

【讨论】:

  • 我查看了有关 NSCopying 协议的文档。 [monsterArray 复制] 返回一个新的 NSMutableArray.New 对象在 [monsterArray 复制] 运行像 CCMove\CCSequence\CCJump 这样的操作会导致正确的过程?我不明白。请解释一下。
  • 它返回另一个包含相同对象的数组。试试看它是否有效:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-10-26
  • 2011-12-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多