菜鸟教程小白 发表于 2022-12-12 09:07:28

python - Objective-c 中是否存在类似 Python 生成器的东西?


                                            <p><p>类似 <a href="https://wiki.python.org/moin/Generators" rel="noreferrer noopener nofollow">Python generator</a>存在于objective-c中?</p>

<p>我在几个地方都有以下代码,有什么方法可以简化它吗?</p>

<pre><code>int maxWinInRow = ;

// how many wins in row
for (int i=1; i &lt;= maxWinInRow; i++) {

    NSString * key = ;
    NSNumber * value = ;
    int numbeOfWinInRow = value.intValue;


    // only this line is specific
    gameScore = gameScore + ( pow(6,i) * numbeOfWinInRow);
}
</code></pre></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>具体来说,Objective C 编程语言中没有内置这样的生成器模式。然而,随着在 Objective C(以及带有 LLVM 的 C)中引入“ block ”,在 Objective C 中构建自己的生成器模式变得有些可能。</p>

<p>如果你认真学习这个,可以去<a href="https://mikeash.com/pyblog/friday-qa-2009-10-30-generators-in-objective-c.html" rel="noreferrer noopener nofollow">this article</a>迈克·阿什(Mike Ash)。</p>

<p>但是,在使用 block 时请小心,因为它偶尔会产生额外的内存管理开销,否则可能会导致您的应用程序中潜在的内存泄漏。因此,如果您想使用所描述的模式,请确保您对“ block ”有正确的理解。否则,我总是建议您重构代码以构建一个基本方法,该方法可以用作 Wain 所描述的 stub 。当然,这不会允许模式所暗示的延迟初始化。但是,在 Objective C 中,这总比没有好。</p></p>
                                   
                                                <p style="font-size: 20px;">关于python - Objective-c 中是否存在类似 Python 生成器的东西?,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/22837328/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/22837328/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: python - Objective-c 中是否存在类似 Python 生成器的东西?