0
对于下列:遗留不断侵犯* 2
struct Constants {
static let m2Pi = CGFloat(M_PI) * 2
}
SwiftLint 0.16.1警告我:
警告:传统恒冲突:STRUCT范围的常数是优选在传统的全局常量上。 (legacy_constant)
请注意,我需要此值为UIBezierPath.init(arcCenter center: CGPoint, radius: CGFloat, startAngle: CGFloat, endAngle: CGFloat, clockwise: Bool)
以获得一个封闭的弧线。
这似乎只是一个愚蠢的警告,我...作为C开发人员,那些全局常量是非常重要的......如果你创建了一个枚举或命名空间并使常量等于全局常量,它会在你指定全局常量的位置上抱怨它吗? –
@GradyPlayer代码质量很重要。这不是一个愚蠢的警告。请注意,'M_PI'实际上是一个宏,因此在C中它可以转换为任何类型(它是一个文字)。在Swift中,你必须对它进行强制转换,因此使用这个特定类型的已经给定的常量会更安全。将它们命名为一个结构并删除不需要的M_前缀(它不再是全局的)只是让你的代码更加一致。 – Sulthan