gpt4 book ai didi

ios - objective-c 中这两个for循环之间的区别

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:42:28 27 4
gpt4 key购买 nike

好吧,我正在构建一个 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 错误。我也有一些循环嵌套,我会把它们放在另一个里面。我真的很想知道关键区别是什么。我假设差异与它们引用数组中对象的方式有关。

最佳答案

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

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

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

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com