[英]Swift 4.2 Syntax change - What happened to Swift type inference?
我正在使用Swift 4.2運行Xcode 10 beta。 Xcode希望將帶有Swift 4.1代碼的Xcode 9.4.1轉換為Swift 4.2語法。 UIView.animate(... options: ...)
的更改全部是UIView.animate(... options: ...)
。
我使用的選項如.curveEaseIn
可以正常工作,但它想將其更改為UIView.AnimationOptions.curveEaseIn
。
Swift的ENUM類型推斷發生了什么?
在Swift 4.1中是UIViewAnimationOptions.curveEaseIn
。 因此,遷移者已將您的.curveEaseIn
檢測為UIViewAnimationOptions.curveEaseIn
並嘗試將其轉換為UIView.AnimationOptions.curveEaseIn
。
似乎當前的遷移者不喜歡點引導的表示法。
您可以將所有出現的UIView.AnimationOptions.curveEaseIn
手動轉換為.curveEaseIn
,並且在適當的情況下可以進行Swift類型推斷。
您可能要編寫一項功能建議,以建議對遷移器進行改進。
(附加)似乎Xcode 10 beta 3已修復此問題,盡管我尚未進行測試。
AnimationOptions
是現在Swift 4.2中UIView下的一個枚舉
您還可以查看此git repo,其中包含語法更改列表。 請隨時為您在項目中遇到的更改做出貢獻。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.