2017-04-26 4 views
0

Foundation과 CoreGraphics를 가져올 Swift 파일이 있는데 abs(x) 인 곳에서 x은 a입니다.이 비추천 문제를 해결하는 방법 "abs (_)`자유 함수를 사용하십시오.

복근이되지 않습니다 : CGFloat, 나는이 경고를 얻을 abs(_) 무료 기능

내가 어떤 함수를 사용해야합니다

를 사용하세요?

+1

이 정확히'복근 (x)의'호출? [mcve]를 입력하십시오. 최상위'abs' 함수보다는'CGFloat'의 정적'abs' 메쏘드를 호출하는 것처럼 들립니다. 혹시'CGFloat' 확장으로 정적 범위에서 호출하고 있습니까? – Hamish

+0

xcode 8.2에 경고가 표시되지 않습니다. let Double X 10.03 value = abs (a) – Sahil

+0

Xcode의 버전은 무엇입니까? – Sahil

답변

2

당신이 static 맥락에서 abs(x)를 사용하는 경우, a compiler bug 것 같다드립니다.

사용하여 경고를 해결할 수 있습니다 의견에 따르면

Swift.abs(x) 
+3

나는 그것을 정말로 버그라고 생각하지 않을 것이다. 정적 메소드'abs (_ :)'가있는 타입의 정적 컨텍스트에서'abs (_ :)'를 호출 할 것으로 기대한다. * 최상위 'abs (_ :)'가 아닌 * 메소드. 하지만 예, Swift를 사용하면이 경우 명확하게 구분할 수 있습니다. – Hamish

+0

@Hamish Agree. 나는 더 많은 것을 쓰는 것에 대해 생각했지만이 사건이 어떻게 처리되어야하는지에 대해 정말로 확신하지 못했습니다. 그것은 오픈 버그로 제출 한거야. – shallowThought

관련 문제