关于这个错误有很多问题,但我还没有发现任何相关内容。
我多次编译并运行我的项目,一切都很好,然后突然,完全不知道,Xcode开始显示以下错误:
if let userId = jsonresult["user_id"]{...}
我正在使用SwiftyJSON。
我很困惑,因为之前没有出现此错误。我没有改变这个课程中的任何内容,我甚至检查了应用程序启动并运行的上一个提交,现在错误也在那里。
我尝试清理项目并删除了派生数据,但它什么也没做。
答案 0 :(得分:2)
这很奇怪,但有时候你的错误说编译器无法很好地推断出错误的类型。 SwiftyJSON有 optional-getter 和非可选getter ,可以访问JSON中的元素,因此在您的情况下,您可以使用 optional-getter 分别转换为类型,请参阅以下代码:
if let userId = jsonresult["user_id"].int {...}
在上述情况下,我使用了.int
optional-getter ,因为我认为"user_id"
是一个数字,但您可以使用其他可用的bool
,string
甚至可以获得error
。
SwiftyJSON中的 optional-getters 完全是为了避免您必须将getter的结果转换为您认为最适合的类型,如下所示: / p>
if let userId = jsonresult["user_id"] as! Int {...}
我希望这对你有所帮助。