【发布时间】:2020-10-14 01:14:03
【问题描述】:
这是自定义对象:
struct ScannedFacts {
var result = -1
var frame:CGRect? = nil
var name = ""
}
这是我想要对以下类型的数组进行排序的函数:
func getSortedData(data:[(String, ScannedFacts)]) -> [(String, ScannedFacts)] {
return data.sorted(by: {$0.1.frame?.minX < $1.1.frame?.minX})
}
这是我得到的错误,我真的无法弄清楚:
Cannot convert value of type 'CGFloat?' to expected argument type 'Self'
我在这里错过了什么?
【问题讨论】:
-
不要使用
-1、""等作为虚拟值来表示“没有价值”。这就是nil的用途。一方面,当您实际上得到-1结果时会发生什么? -
查看stackoverflow.com/q/44808391/3141234 我的
nilComparator正是可以解决您的问题的方法,没有与选择默认值来代替nil相关的所有错误/错误
标签: ios arrays swift sorting swift3