遗留构造函数违规:Swift构造函数优于传统的便捷函数。 (legacy_constructor)

时间:2016-09-23 14:50:44

标签: swift xcode swiftlint

我在这一行收到SwiftLint警告:

return UIEdgeInsetsMake(topInset, leftInset, bottomInset, rightInset)

这是警告:

  

传统构造函数违规:Swift构造函数优先于   传统的便利功能。 (legacy_constructor)

我也在这条线上收到警告:

return CGRectInset(bounds, insetX, insetY)
  

Legacy CGGeometry函数违规:Struct扩展属性和   方法优于传统功能   (legacy_cggeometry_functions)

UIEdgeInsetsMakeCGRectInset的什么是Swift版本?

1 个答案:

答案 0 :(得分:10)

Swift希望您更新这些类型的新struct初始值设定项,而不是旧的C构造函数。因此,您的插入初始值设定项将更改为:

return UIEdgeInsets(top: topInset, left: leftInset, bottom: bottomInset, right: rightInset)

CGRectInset C方法已更改为CGRect结构上的方法。

return bounds.insetBy(dx: insetX, dy: insetY)