Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift CGFloat的遗留常量冲突(M_PI)*2_Swift_Cgfloat_Swiftlint - Fatal编程技术网

Swift CGFloat的遗留常量冲突(M_PI)*2

Swift CGFloat的遗留常量冲突(M_PI)*2,swift,cgfloat,swiftlint,Swift,Cgfloat,Swiftlint,有关下列事项: struct Constants { static let m2Pi = CGFloat(M_PI) * 2 } SwiftLint 0.16.1警告我: 警告:旧版常量冲突:结构作用域常量优先于旧版全局常量。(U常数) 请注意,我需要UIBezierPath.init(弧中心:CGPoint,半径:CGFloat,startAngle:CGFloat,endAngle:CGFloat,顺时针:Bool)的这个值来获得闭合弧。在swift 3中,pi现在是这样定义的:

有关下列事项:

struct Constants {
    static let m2Pi = CGFloat(M_PI) * 2
}
SwiftLint 0.16.1警告我:

警告:旧版常量冲突:结构作用域常量优先于旧版全局常量。(U常数)


请注意,我需要UIBezierPath.init(弧中心:CGPoint,半径:CGFloat,startAngle:CGFloat,endAngle:CGFloat,顺时针:Bool)的这个值来获得闭合弧。

在swift 3中,pi现在是这样定义的:

CGFloat.pi
Double.pi 
Float.pi
您也可以通过以下方式获得:

CGFloat.pi
Double.pi 
Float.pi

在swift 3中,pi的定义如下:

CGFloat.pi
Double.pi 
Float.pi
您也可以通过以下方式获得:

CGFloat.pi
Double.pi 
Float.pi

这对我来说只是一个愚蠢的警告。。。作为C开发人员,这些全局常量非常重要。。。如果您创建了一个枚举或命名空间,并使该常量等于全局常量,它会在您指定全局常量的位置抱怨吗?@GradyPlayer代码质量很重要。这不是一个愚蠢的警告。请注意,
M_PI
实际上是一个宏,因此在C中它可以转换为任何类型(它是一个文本)。在Swift中,您必须对其进行强制转换,因此,将已给定的常量与该特定类型一起使用更安全。将其命名为一个结构并删除不需要的前缀(不再是全局前缀),只会使代码更加一致。对我来说,这似乎是一个愚蠢的警告。。。作为C开发人员,这些全局常量非常重要。。。如果您创建了一个枚举或命名空间,并使该常量等于全局常量,它会在您指定全局常量的位置抱怨吗?@GradyPlayer代码质量很重要。这不是一个愚蠢的警告。请注意,
M_PI
实际上是一个宏,因此在C中它可以转换为任何类型(它是一个文本)。在Swift中,您必须对其进行强制转换,因此,将已给定的常量与该特定类型一起使用更安全。将其命名为一个结构并删除不需要的前缀(不再是全局前缀)只会使代码更加一致。