菜鸟教程小白 发表于 2022-12-13 06:49:22

ios - NSMutableArray 的 int 值从 1 到 100


                                            <p><p>这应该很容易,但不知何故它不想为我工作。使用 iOS 7 和 XCode 5。
我要做的就是创建一个值从 1 到 100 的数组。</p>

<pre><code>NSMutableArray *array;
for (int i = 0; i &lt; 100; i++)
{
    ;
}
</code></pre>

<p>这不起作用。我收到“ARC 不允许将 'int' 隐式转换为 'id'。
我明白了,我不能将原始类型添​​加到 NSMutableArray。</p>

<pre><code>    ;
</code></pre>

<p>这也不起作用。我在程序中收到“意外的'@'”</p>

<pre><code>    ];
    ];
</code></pre>

<p>(无论哪种情况)这“有效”(编译)但它确实“无效”。问题在于 NSNumber 的值实际上不是 1-100。我得到的每一行是“147212864”、147212832、“147212840”……不是我想要的。</p>

<p>最后:</p>

<pre><code>for (NSNumber *i = 0; i &lt; ; i++)
{
    ;
}
</code></pre>

<p>这也无法编译。我在 i++ 上遇到错误。 “指向接口(interface) 'NSNumber' 的指针的算术运算,对于这个架构和平台来说,它不是一个恒定的大小”</p>

<p>关于如何在 obj-c 上做这个极其简单的事情有什么建议吗?</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>其中任何一个都可以工作:</p>

<pre><code>NSMutableArray *array = ;
for (int i = 0; i &lt; 100; i++) {
    ;
}
</code></pre>

<p>或</p>

<pre><code>NSMutableArray *array = ;
for (int i = 0; i &lt; 100; i++) {
    ];
}
</code></pre>

<p>以下是您的代码片段不起作用的原因:</p>

<ol>
<li><code></code> - 你不能将原语添加到 Cocoa 集合中</li>
<li><code></code> - 您忘记将表达式 <code>i</code> 括在括号中</li>
<li><code>NSNumber *i = 0; i < ; i++</code> - 你不能增加 <code>NSNumber</code> 而不先“解包”它的值。</li>
</ol></p>
                                   
                                                <p style="font-size: 20px;">关于ios - NSMutableArray 的 int 值从 1 到 100,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/22153463/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/22153463/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - NSMutableArray 的 int 值从 1 到 100