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

eta*_*luz 8 xcode swift swiftlint

我在这一行收到了一个SwiftLint警告:

return UIEdgeInsetsMake(topInset, leftInset, bottomInset, rightInset)
Run Code Online (Sandbox Code Playgroud)

这是警告:

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

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

return CGRectInset(bounds, insetX, insetY)
Run Code Online (Sandbox Code Playgroud)

遗留的CGGeometry函数违规:结构扩展属性和方法优于遗留函数(legacy_cggeometry_functions)

什么是斯威夫特版本UIEdgeInsetsMakeCGRectInset

kei*_*ter 10

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

return UIEdgeInsets(top: topInset, left: leftInset, bottom: bottomInset, right: rightInset)
Run Code Online (Sandbox Code Playgroud)

CGRectInsetC法改变为是对一个方法CGRect结构.

return bounds.insetBy(dx: insetX, dy: insetY)
Run Code Online (Sandbox Code Playgroud)