web-dev-qa-db-ja.com

toUIntMax()およびtoIntMax()は、Swift 4から削除されました

Swift 4)のメソッドtoUIntMax()とメソッドtoIntMax()を置き換えたものは何ですか?FacebookCoreフレームワーク内でエラーが発生しました。

助けていただければ幸いです

22
techcoderx

IntMaxの概念は、 SE-104 の一部として完全に削除されました。

ある整数型から別の整数型への変換は、人為的な制限である「最大幅整数」の概念を使用して実行されます(MaxIntを参照)。 MaxIntがまさに存在するため、たとえば、誰かが_Int256_を実装した場合、何をすべきかがわかりません。

提案されたモデルは、以前に整数型間で相互運用するために使用された「最大整数型」の概念を排除し(現在のモデルのtoIntMaxを参照)、代わりに機械語へのアクセスを提供します。また、multipliedFullWidth(by:)dividingFullWidth(_:)、およびquotientAndRemainderメソッドも導入します。これらの変更を一緒に使用して、他の方法では達成が困難なbignumの効率的な実装を提供できます。

この特定のケースでは、FB SDKはUInt64($0)初期化子を使用するだけで、新しいプロトコルのおかげでBinaryIntegerタイプで利用可能になりました。

28
Sulthan

また、今のところ、Swift 3.2 Pods-> Targets-> ObjectMapper-> Swift language version option

2
Sushmita Sinha