OGeek|极客世界-中国程序员成长平台

标题: ios - objective-c 中这两个for循环之间的区别 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 11:50
标题: ios - objective-c 中这两个for循环之间的区别

好的,所以我正在构建一个 iOS 游戏,我觉得我对 Objective-c 有很好的掌握,但是让我痛苦的一件事是引用 -使用以下 for 循环时遇到的错误

for (MyObject *object in nsMutableArrayOfObjects) {
    // do things with object
}

对比

for (int i = 0; i< nsMutableArrayOfObjects.count; i++) {
    // do things with nsMutableArrayOfObjects[i];
}

我有一些(第一个循环示例)按顺序运行,但我不断收到 EXC_BAD_ACCESS 错误。我也有一些循环嵌套,我会放在另一个里面。我真的很想知道关键的区别是什么。我假设这些差异与它们引用数组中对象的方式有关。



Best Answer-推荐答案


您发布的第一个示例使用快速枚举 - 枚举集合的首选方法。
Apple 在 Collections Programming Guide 中提供了详细信息.

我不确定在您的情况下是什么导致了 EXC_BAD_ACCESS(听起来更像是内存管理问题)。但是在使用快速枚举时要记住的一件事是,您不能改变正在枚举的集合。

关于ios - objective-c 中这两个for循环之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17176834/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://ogeek.cn/) Powered by Discuz! X3.4