web-dev-qa-db-ja.com

Swift 3.0では使用できない絶対値関数abs()。abs(_ :)フリー関数を使用しますか?

Xcode 8 Beta4を使用してSwift iOSプロジェクトをSwift 3.0に変換しています。絶対値関数が使用できないことが示されています。コードサンプルを次に示します。 。

_let myInt = -3
let myAbsoluteInt = abs(myInt)
_

2行目では、'abs' is unavailable: Please use the 'abs(_:)' free functionというエラーが発生します。

アイデア?

8
ninefifteen

あなたが見せているコードは、Xcode8ベータ4で動作します。

この誤解を招くエラーメッセージの原因となる別の別の問題があると思います。

たとえば、他のライブラリをインポートした場合、競合が発生する可能性があります。

簡単な回避策は完全なタイプを使用することです:

let myAbsoluteInt = Swift.abs(myInt)
10
ayaio

ここで述べたように、パラメータとして明示的なIntを試すことができます。これはバグの可能性があります: Swift with 'での演算子'-'のあいまいな使用abs() '

let myInt:Int = -3
let myAbsoluteInt = abs(myInt)
1
Aladin