Ios 转换为swift 3后,视图控制器中出现奇怪的通用函数

Ios 转换为swift 3后,视图控制器中出现奇怪的通用函数,ios,swift,swift3,Ios,Swift,Swift3,在我的项目中,转换为swift 3后,在我的ViewController类之前出现了一个新函数: fileprivate func < <T : Comparable>(lhs: T?, rhs: T?) -> Bool { switch (lhs, rhs) { case let (l?, r?): return l < r case (nil, _?): return true default: return false

在我的项目中,转换为swift 3后,在我的
ViewController
类之前出现了一个新函数:

fileprivate func < <T : Comparable>(lhs: T?, rhs: T?) -> Bool {
   switch (lhs, rhs) {
  case let (l?, r?):
    return l < r
  case (nil, _?):
    return true
  default:
    return false
  }
}
fileprivate func<(左:T?,右:T?)->Bool{
开关(左、右){
小木箱(l?,r?):
返回l

这个函数做什么?为什么我需要它

这很有趣。在最新的Swift 3之前,您可以 例如,比较可选值

let a: Int? = nil
let b: Int? = 4

print(a < b) // true
显然,Swift migrator通过以下方式为您解决了这个问题:
提供一个自定义的
,这基本上意味着在大多数情况下我可以简单地删除它?我不需要将nil与optionals进行比较。@BrightFuture:根据我的经验,Xcode只在某个地方需要时才添加nil。试着移除它,看看会发生什么。
error: value of optional type 'Int?' not unwrapped; did you mean to use '!' or '?'?