如何解决上下文闭包类型'((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 }
现在工作吗? –
你能解释为什么这个代码工作在swift 4和以上不起作用吗? –
@VarunNaharia我已经在我的回答中写道,在你的闭包中你没有访问第二个参数'$ 1',所以你需要访问它而不是'$ 0.1',它是'$ 1'和'$ 0','$ 1'代表'(String,JSON)'不是'((String,JSON),(String,JSON))' –