24

Swift 4 中的 toUIntMax() 方法和 toIntMax() 方法被什么取代了?错误发生在 FacebookCore 框架内。

任何帮助,将不胜感激

4

2 回答 2

29

作为SE-104的一部分,的概念IntMax已被完全删除。

从一种整数类型转换为另一种整数类型是使用“最大宽度整数”的概念(请参阅 参考资料MaxInt)执行的,这是人为的限制。例如,它的存在MaxInt使得人们不清楚应该执行什么操作Int256

所提出的模型消除了以前用于整数类型之间互操作的“最大整数类型”概念(参见toIntMax当前模型),而是提供对机器字的访问。它还介绍了multipliedFullWidth(by:)dividingFullWidth(_:)quotientAndRemainder方法。这些变化一起可以用来提供一个高效的 bignums 实现,否则很难实现。

在这种特定情况下,FB SDK 应该简单地使用初始化程序,由于新协议,该UInt64($0)初始化程序现在可用于任何类型。BinaryInteger

于 2017-06-24T14:51:16.663 回答
1

您现在也可以,可以在 Pods -> Targets -> ObjectMapper -> Swift 语言版本选项下选择 Swift 3.2

于 2017-11-03T04:09:09.060 回答