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["results"]
for (index: String, subJson: JSON) in results{
var user = subJson["user"].string
print(user)
}
}
</code></pre>
<p>使用此代码,我收到此错误:</p>
<pre><code>var user = subJson["user"].string
</code></pre>
<blockquote>
<p>Use of unresolved identifier 'subJson error'</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 = ["results" : ["first" : ["user" : 123], "second" : ["user" : 456], "third" : ["user" : 789]]]
let results = json["results"]!
for (index: String, subJson: JSON) in results {
var user = JSON["user"]
print(user)
}
</code></pre>
<p>为了更清楚一点:</p>
<pre><code>for (index: myIndex, subJson: mySubJSON) in results {
var user = mySubJSON["user"]
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 + 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]