如何解决上下文闭包类型'((String,JSON),(String,JSON)) - > Bool'需要2个参数,但1在闭包体中使用?

问题描述:

我转换我的代码从迅速3.2至迅速4和我正在错误此代码如何解决上下文闭包类型'((String,JSON),(String,JSON)) - > Bool'需要2个参数,但1在闭包体中使用?

self.arrData = json.sorted{ $0.0.1["chkincount"].doubleValue > $0.1.1["chkincount"].doubleValue }.map { $0.1 } 

语境闭合类型“((字符串,JSON),(字符串,JSON)) - >布尔'期待2个参数,但是1个用于封闭体

如何解决这个问题?

在有序关闭改变$0.0.1$0.1访问第一闭合参数,$0.1.1$1.1使这一变化,你都准备好去后访问第二闭合的说法。

self.arrData = json.sorted{ $0.1["chkincount"].doubleValue > $1.1["chkincount"].doubleValue }.map { $0.1 } 
+0

现在工作吗? –

+0

你能解释为什么这个代码工作在swift 4和以上不起作用吗? –

+0

@VarunNaharia我已经在我的回答中写道,在你的闭包中你没有访问第二个参数'$ 1',所以你需要访问它而不是'$ 0.1',它是'$ 1'和'$ 0','$ 1'代表'(String,JSON)'不是'((String,JSON),(String,JSON))' –