我使用Swift 4.2运行Xcode 10测试版。Xcode希望用SWIFT4.1代码将我的Xcode 9.4.1转换为SWIFT4.2语法。所有的更改都是UIView.animate(... options: ...)。
我使用了像.curveEaseIn这样的选项,它以前工作得很好,但它希望将它们更改为UIView.AnimationOptions.curveEaseIn。
斯威夫特的ENUM类型推断发生了什么?
发布于 2018-06-30 04:43:26
是斯威夫特4.1中的UIViewAnimationOptions.curveEaseIn。因此,migrator已经将您的.curveEaseIn检测为UIViewAnimationOptions.curveEaseIn,并试图将其转换为UIView.AnimationOptions.curveEaseIn。
现在的移行器似乎不喜欢点引线符号。
您可以手动将所有出现的UIView.AnimationOptions.curveEaseIn转换为.curveEaseIn,如果适当的话,Swift类型推断可以工作。
您可能想要编写一个特征请求,建议改进migrator。
(另外)似乎Xcode 10 beta 3已经修复了这个问题,尽管我还没有测试。
发布于 2018-08-24 23:11:08
AnimationOptions是UIView下的一个enum,现在出现在Wave4.2中。
您还可以查看这个包含语法更改列表的git。请随时与您在您的项目中遇到的变化作出贡献。
https://stackoverflow.com/questions/51111749
复制相似问题