"模糊地使用'下标'"从哪儿冒出来

时间:2016-02-17 19:48:25

标签: ios swift swifty-json

关于这个错误有很多问题,但我还没有发现任何相关内容。

我多次编译并运行我的项目,一切都很好,然后突然,完全不知道,Xcode开始显示以下错误:

if let userId = jsonresult["user_id"]{...}

我正在使用SwiftyJSON。

我很困惑,因为之前没有出现此错误。我没有改变这个课程中的任何内容,我甚至检查了应用程序启动并运行的上一个提交,现在错误也在那里。

我尝试清理项目并删除了派生数据,但它什么也没做。

1 个答案:

答案 0 :(得分:2)

这很奇怪,但有时候你的错误说编译器无法很好地推断出错误的类型。 SwiftyJSON optional-getter 非可选getter ,可以访问JSON中的元素,因此在您的情况下,您可以使用 optional-getter 分别转换为类型,请参阅以下代码:

if let userId = jsonresult["user_id"].int {...}

在上述情况下,我使用了.int optional-getter ,因为我认为"user_id"是一个数字,但您可以使用其他可用的boolstring甚至可以获得error

SwiftyJSON中的 optional-getters 完全是为了避免您必须将getter的结果转换为您认为最适合的类型,如下所示: / p>

if let userId = jsonresult["user_id"] as! Int {...}

我希望这对你有所帮助。