如何解决这个弃用问题“abs已弃用:请使用`abs(_)`免费功能”
问题描述:
我有一个Swift文件,我导入Foundation和CoreGraphics,但在我拨打abs(x)
的地方,其中x
是一个CGFloat
,我得到这样的警告:如何解决这个弃用问题“abs已弃用:请使用`abs(_)`免费功能”
ABS是弃用:请使用
abs(_)
免费功能
我应该使用什么功能?
谢谢
答
+3
我不会*真的认为它是一个错误 - 我希望在静态方法中调用'abs(_ :)'在静态方法'abs(_ :)'的类型上默认解析为* that *方法,而不是顶级的'abs(_ :)'。但是,是的,使用'Swift.'是在这种情况下消除歧义的正确方法:) – Hamish
+0
@Hamish同意。我想写更多,但并不确定这个案子应该如何处理。尽管它是作为一个开放的错误提交的。 – shallowThought
正是你在哪里调用'ABS(X)'?请提供[mcve]。听起来像你在调用'CGFloat'的静态'abs'方法,而不是顶级'abs'函数。你是否在任何时候在'CGFloat'扩展中的静态作用域中调用它? – Hamish
xcode 8.2没有给出警告 let a:Double = 10.03 let value = abs(a) – Sahil
你使用的是哪个版本的Xcode? – Sahil