菜鸟教程小白 发表于 2022-12-13 11:20:26

ios - Swift 2 + SwiftyJSON : Use of unresolved identifier error


                                            <p><p>我正在使用 Swift 2 和 iOS 9 制作一个 API REST 应用程序,使用 SwiftyJSON 支持 Swift 2 ( <a href="https://github.com/andrelind/SwiftyJSON" rel="noreferrer noopener nofollow">https://github.com/andrelind/SwiftyJSON</a> )。当我获取数据并打印时,我使用以下代码:</p>

<pre><code>RestApiManager.sharedInstance.getRandomUser { json in
let results = json[&#34;results&#34;]
for (index: String, subJson: JSON) in results{
      var user = subJson[&#34;user&#34;].string
      print(user)
}
}
</code></pre>

<p>使用此代码,我收到此错误:</p>

<pre><code>var user = subJson[&#34;user&#34;].string
</code></pre>

<blockquote>
<p>Use of unresolved identifier &#39;subJson error&#39;</p>
</blockquote>

<p>根据 Swift 2 文档,带有字典的循环类似于:</p>

<pre><code>for (key, value) in source{
//Do something
}
</code></pre>

<p>而 SwiftyJSON 文档我可以这样使用:</p>

<pre><code>for (key: String, subJson: JSON) in json {
    //Do something you want
}
</code></pre>

<p>如果理论上声明是正确的,任何人都知道为什么我会收到此错误。我正在使用 Xcode 7.0 beta 3、Swift 2 和我的项目(如果适用于 iOS 9)。谢谢!</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>您混淆了参数的内部名称和迭代给您的实际参数。以下应该有效:</p>

<pre><code>// demo JSON
let json = [&#34;results&#34; : [&#34;first&#34; : [&#34;user&#34; : 123], &#34;second&#34; : [&#34;user&#34; : 456], &#34;third&#34; : [&#34;user&#34; : 789]]]

let results = json[&#34;results&#34;]!
for (index: String, subJson: JSON) in results {
    var user = JSON[&#34;user&#34;]
    print(user)
}
</code></pre>

<p>为了更清楚一点:</p>

<pre><code>for (index: myIndex, subJson: mySubJSON) in results {
    var user = mySubJSON[&#34;user&#34;]
    print(user)
}
</code></pre>

<p><code>subJSON</code> 不是包含您的 json 的变量的名称,名称是 <code>JSON</code>/<code>mySubJSON</code>,索引也是如此。 </p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - Swift 2 &#43; SwiftyJSON : Use of unresolved identifier error,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/31774452/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/31774452/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - Swift 2 &#43; SwiftyJSON : Use of unresolved identifier error