菜鸟教程小白 发表于 2022-12-12 11:50:09

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


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

<pre><code>for (MyObject *object in nsMutableArrayOfObjects) {
    // do things with object
}
</code></pre>

<p>对比</p>

<pre><code>for (int i = 0; i&lt; nsMutableArrayOfObjects.count; i++) {
    // do things with nsMutableArrayOfObjects;
}
</code></pre>

<p>我有一些(第一个循环示例)按顺序运行,但我不断收到 <code>EXC_BAD_ACCESS</code> 错误。我也有一些循环嵌套,我会放在另一个里面。我真的很想知道关键的区别是什么。我假设这些差异与它们引用数组中对象的方式有关。</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>您发布的第一个示例使用快速枚举 - 枚举集合的首选方法。<br/>
Apple 在 <a href="https://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/Collections/Articles/Enumerators.html" rel="noreferrer noopener nofollow">Collections Programming Guide</a> 中提供了详细信息.</p>

<p>我不确定在您的情况下是什么导致了 <code>EXC_BAD_ACCESS</code>(听起来更像是内存管理问题)。但是在使用快速枚举时要记住的一件事是,您不能改变正在枚举的集合。 </p></p>
                                   
                                                <p style="font-size: 20px;">关于ios -objective-c 中这两个for循环之间的区别,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/17176834/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/17176834/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - objective-c 中这两个for循环之间的区别